Renommage via script shell
Résolu
dbourrion
Messages postés
15
Statut
Membre
-
dbourrion Messages postés 15 Statut Membre -
dbourrion Messages postés 15 Statut Membre -
Bonjour,
Bonjour.
Je récupère toutes les nuits dans un répertoire une série de fichiers nommés ainsi :
NC3858510_A1628717_gl20090914.not
NC3879755_A1643326_Sylvain_Bo.not
NC3774201_A1569573_15_07_2009.not
et je souhaite les débarrasser de tout ce qui précède le second _ pour obtenir donc ;
gl20090914.not
Sylvain_Bo.not
15_07_2009.not
J'ai pensé à un script shell utilisant sed mais comment dire... Je débute ;-)
Help welcome.
Bonjour.
Je récupère toutes les nuits dans un répertoire une série de fichiers nommés ainsi :
NC3858510_A1628717_gl20090914.not
NC3879755_A1643326_Sylvain_Bo.not
NC3774201_A1569573_15_07_2009.not
et je souhaite les débarrasser de tout ce qui précède le second _ pour obtenir donc ;
gl20090914.not
Sylvain_Bo.not
15_07_2009.not
J'ai pensé à un script shell utilisant sed mais comment dire... Je débute ;-)
Help welcome.
5 réponses
-
Salut,
ssh$ ls -1 NC3774201_A1569573_15_07_2009.not NC3858510_A1628717_gl20090914.not NC3879755_A1643326_Sylvain_Bo.not ssh$ while read line;do mv "${line}" $(sed 's/[^_]*_[^_]*_//' <<<${line});done < <(ls) ssh$ ls -1 15_07_2009.not gl20090914.not Sylvain_Bo.not ssh$;-))
-
-
je sais j'abuse mais la même rentrée dans un script provoque une erreur syntax error near unexpected token '>'
#! /bin/sh
while read line;do mv "${line}" $(sed 's/[^_]*_[^_]*_//' <<<${line});done < <(ls) -
Alors écris-le comme suit :
#! /bin/sh for line in * do mv "${line}" $(sed 's/[^_]*_[^_]*_//' <<<${line}) done
:-)) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -