J'ai des fichiers avec le sufixe _da.txt ou avec le sufixe _data.txt.
Ils sont melanges dans des repertoires qui sont dans des repertoires
qui eux-memes sont dans des repertoires. Je veux qu'ils aient tous un
suffixe _data.txt.
Je ne suis pas certaine de la strategie qu'il faut utiliser avec mv
pour arriver a mes fins.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
bertrille
Christophe Le Gal wrote in message news:...
In article , Bertrille Ethrington wrote:
J'ai des fichiers avec le sufixe _da.txt ou avec le sufixe _data.txt. Ils sont melanges dans des repertoires qui sont dans des repertoires qui eux-memes sont dans des repertoires. Je veux qu'ils aient tous un suffixe _data.txt.
Je ne suis pas certaine de la strategie qu'il faut utiliser avec mv pour arriver a mes fins.
Sous linux toujours find -type f -name "*_da.txt" | xargs rename _da.txt _data.txt
devrait faire l'affaire. Sauf s'il y a deja des occurences de _da.txt dans les noms de fichiers en dehors de la derniere (genre toto_da.txtblabla_da.txt)
Sinon solution "meta-programmation" :
find -type f -name "*_da.txt" | sed 's/(.*)_da.txt$/mv 1_da.txt 1_data.txt/' | sh
(find trouve la liste des fichiers, sed transforme "xxx_da.txt" en "mv xxx_da.txt xxx_data.txt" sh execute les commandes ainsi generees)
Dans tcsh ou dans bash, si je met: find -type f -name "*_da.txt" | sed 's/(.*)_da.txt$/mv 1_da.txt 1_data.txt/' | sh
j'optiens: sed: Command not found. find: illegal option -- t find: illegal option -- y find: illegal option -- p find: illegal option -- e
pourtant je peux utiliser sed.
Christophe Le Gal <christophe-n2@vinigou.org> wrote in message news:<slrnbkbe77.c6g.christophe-n2@linux.local>...
In article <76ba41ea.0308211725.1db1d034@posting.google.com>, Bertrille Ethrington wrote:
J'ai des fichiers avec le sufixe _da.txt ou avec le sufixe _data.txt.
Ils sont melanges dans des repertoires qui sont dans des repertoires
qui eux-memes sont dans des repertoires. Je veux qu'ils aient tous un
suffixe _data.txt.
Je ne suis pas certaine de la strategie qu'il faut utiliser avec mv
pour arriver a mes fins.
Sous linux toujours
find -type f -name "*_da.txt" | xargs rename _da.txt _data.txt
devrait faire l'affaire. Sauf s'il y a deja des occurences de
_da.txt dans les noms de fichiers en dehors de la derniere
(genre toto_da.txtblabla_da.txt)
Sinon solution "meta-programmation" :
find -type f -name "*_da.txt" |
sed 's/(.*)_da.txt$/mv 1_da.txt 1_data.txt/' | sh
(find trouve la liste des fichiers,
sed transforme "xxx_da.txt" en "mv xxx_da.txt xxx_data.txt"
sh execute les commandes ainsi generees)
Dans tcsh ou dans bash, si je met:
find -type f -name "*_da.txt" | sed 's/(.*)_da.txt$/mv 1_da.txt
1_data.txt/' | sh
j'optiens:
sed: Command not found.
find: illegal option -- t
find: illegal option -- y
find: illegal option -- p
find: illegal option -- e
J'ai des fichiers avec le sufixe _da.txt ou avec le sufixe _data.txt. Ils sont melanges dans des repertoires qui sont dans des repertoires qui eux-memes sont dans des repertoires. Je veux qu'ils aient tous un suffixe _data.txt.
Je ne suis pas certaine de la strategie qu'il faut utiliser avec mv pour arriver a mes fins.
Sous linux toujours find -type f -name "*_da.txt" | xargs rename _da.txt _data.txt
devrait faire l'affaire. Sauf s'il y a deja des occurences de _da.txt dans les noms de fichiers en dehors de la derniere (genre toto_da.txtblabla_da.txt)
Sinon solution "meta-programmation" :
find -type f -name "*_da.txt" | sed 's/(.*)_da.txt$/mv 1_da.txt 1_data.txt/' | sh
(find trouve la liste des fichiers, sed transforme "xxx_da.txt" en "mv xxx_da.txt xxx_data.txt" sh execute les commandes ainsi generees)
Dans tcsh ou dans bash, si je met: find -type f -name "*_da.txt" | sed 's/(.*)_da.txt$/mv 1_da.txt 1_data.txt/' | sh
j'optiens: sed: Command not found. find: illegal option -- t find: illegal option -- y find: illegal option -- p find: illegal option -- e