Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

strategie pour mv

1 réponse
Avatar
bertrille
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.

1 réponse

Avatar
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.