D'abord je me corrige, la commande à utiliser est xargs et non xarg...
Le pipe: | est une redirection de flux de sortie de la commande se trouvant à sa gauche vers l'entrée de la commande se trouvant à sa droite, ex:
frbn@deb:~$ find /usr/include -name string.h
/usr/include/asm/string.h
/usr/include/bits/string.h
/usr/include/string.h
...
si tu veux faire quelquechose avec ce que te renvoie la commande
tu utilises le pipe:
frbn@deb:~$ find /usr/include -name string.h | xargs du -h
12K /usr/include/asm/string.h
24K /usr/include/bits/string.h
16K /usr/include/string.h
...
La variable d'environnement IFS gère ce qui délimite les éléments d'une sélection par exemple dans une boucle for/do/done:
$ ll
total 0
-rw-r--r-- 1 frbn frbn 0 2006年03月15日 00:01 le_gros_truc
-rw-r--r-- 1 frbn frbn 0 2006年03月15日 00:01 le_petit_troc
-rw-r--r-- 1 frbn frbn 0 2006年03月15日 00:01 le petit truc
$ for i in $(ls); do echo $i; done
le_gros_truc
le_petit_troc
le
petit
truc
tu remarqueras le fichier dont le nom contient des espaces n'est pas correctement sélectionné
$ IFS=$'\n';for i in $(ls); do echo $i; done
le_gros_truc
le_petit_troc
le petit truc
là on est bon.
Pour l'utilisation de rename, il est préférable de connaître les expressions rationnelle ou "régulières", j'utilise souvent un truc du genre de: rename 's/é/e/g' *.txt
qui remplace tous les é par des e dans les fichiers, dont le nom se termine par .txt, du dossier courant...
[^] # Re: Ca passera pas
Posté par B. franck . En réponse au message Ligne de commande pour modifier un nom de fichier. Évalué à 5.
Le pipe: | est une redirection de flux de sortie de la commande se trouvant à sa gauche vers l'entrée de la commande se trouvant à sa droite, ex:
frbn@deb:~$ find /usr/include -name string.h
/usr/include/asm/string.h
/usr/include/bits/string.h
/usr/include/string.h
...
si tu veux faire quelquechose avec ce que te renvoie la commande
tu utilises le pipe:
frbn@deb:~$ find /usr/include -name string.h | xargs du -h
12K /usr/include/asm/string.h
24K /usr/include/bits/string.h
16K /usr/include/string.h
...
La variable d'environnement IFS gère ce qui délimite les éléments d'une sélection par exemple dans une boucle for/do/done:
$ ll
total 0
-rw-r--r-- 1 frbn frbn 0 2006年03月15日 00:01 le_gros_truc
-rw-r--r-- 1 frbn frbn 0 2006年03月15日 00:01 le_petit_troc
-rw-r--r-- 1 frbn frbn 0 2006年03月15日 00:01 le petit truc
$ for i in $(ls); do echo $i; done
le_gros_truc
le_petit_troc
le
petit
truc
tu remarqueras le fichier dont le nom contient des espaces n'est pas correctement sélectionné
$ IFS=$'\n';for i in $(ls); do echo $i; done
le_gros_truc
le_petit_troc
le petit truc
là on est bon.
Pour l'utilisation de rename, il est préférable de connaître les expressions rationnelle ou "régulières", j'utilise souvent un truc du genre de:
rename 's/é/e/g' *.txt
qui remplace tous les é par des e dans les fichiers, dont le nom se termine par .txt, du dossier courant...