« Catégorie:Trucs Au secours » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
m (Remplacer récursivement TOUS les esapces dans les noms de fichiers et de répertoires par des _)
m (style)
Ligne 2 : Ligne 2 :
Que faire quand plus rien ne marche, quand Linux ne démarre plus, que X plante...
Que faire quand plus rien ne marche, quand Linux ne démarre plus, que X plante...


== Remplacer récursivement TOUS les esapces dans les noms de fichiers et de répertoires par des _ ==
== Remplacer récursivement _tous_ les espaces dans les noms de fichiers et de répertoires par des _ ==


ça c du titre !
On va d'abord remplacer tous les espaces dans les noms de répertoires :
 
Alors on va d'abord remplacer tous les espaces dans les noms de répertoires:


find . -type d -regex ".*\ .*" -exec bash -c 'echo "$1";mv "$1" "${1// /_}"' '{}' '{}'  \;
find . -type d -regex ".*\ .*" -exec bash -c 'echo "$1";mv "$1" "${1// /_}"' '{}' '{}'  \;


Puis dans les fichiers:
Puis dans les fichiers :


find . -type d -regex ".*\ .*" -exec bash -c 'echo "$1";mv "$1" "${1// /-}"' '{}' '{}'  \;
find . -type d -regex ".*\ .*" -exec bash -c 'echo "$1";mv "$1" "${1// /-}"' '{}' '{}'  \;
Ligne 16 : Ligne 14 :
Voilà !
Voilà !


Maintenant vous pouvez tranquillement rechercher une chaînes de caractères dans l'ensemble des fichiers de votre disques durs (y compris les docs) en faisant:
Maintenant vous pouvez tranquillement rechercher une chaînes de caractères dans l'ensemble des fichiers de votre disques durs (y compris les docs) en faisant :


find . -name '*.doc' | xargs grep -i 'ma chaine de caractères'
find . -name '*.doc' | xargs grep -i 'ma chaine de caractères'

Version du 6 décembre 2008 à 20:16

Que faire quand plus rien ne marche, quand Linux ne démarre plus, que X plante...

Remplacer récursivement _tous_ les espaces dans les noms de fichiers et de répertoires par des _

On va d'abord remplacer tous les espaces dans les noms de répertoires :

find . -type d -regex ".*\ .*" -exec bash -c 'echo "$1";mv "$1" "${1// /_}"' '{}' '{}' \;

Puis dans les fichiers :

find . -type d -regex ".*\ .*" -exec bash -c 'echo "$1";mv "$1" "${1// /-}"' '{}' '{}' \;

Voilà !

Maintenant vous pouvez tranquillement rechercher une chaînes de caractères dans l'ensemble des fichiers de votre disques durs (y compris les docs) en faisant :

find . -name '*.doc' | xargs grep -i 'ma chaine de caractères'