J'ai un tas de fichiers comme suit:
04602635_b0294.DAT20120807164534
04602637_b0297.DAT20120807164713
04602638_b0296.DAT20120807164637
04602639_b0299.DAT20120807164819
04602640_b0298.DAT20120807164748
04602641_b0300.DAT20120807164849
04602650_b0301.DAT20120807164921
04602652_b0302.DAT20120807164956
Je dois les renommer pour exclure le préfixe. Il faut que ça ressemble à ça ..
b0294.DAT20120807164534
b0297.DAT20120807164713
b0296.DAT20120807164637
b0299.DAT20120807164819
b0298.DAT20120807164748
b0300.DAT20120807164849
b0301.DAT20120807164921
b0302.DAT20120807164956
ÉDITER
J'ai oublié d'ajouter que j'utilise Solaris.
"${file#*_}"
?echo
, dirigez simplement la sortie du script versbash
.Vous pouvez utiliser l'outil
rename
pour cela:Si vous l'ajoutez,
-n
il ne renommera rien et vous montrera simplement ce qui aurait été fait sans-n
.En réponse au commentaire de rush: my
rename
is est en fait un lien versprename
livré avec leperl
paquet Debian et Ubuntu .la source
rename
n'est pas toujours le même sur différents systèmes et que parfois sa syntaxe peut différer.perl-rename
n'est pas du tout spécifique à Debian. Il n'est simplement pas appelérename
maisperl-rename
ouprename
dans d'autres distributions. Il devrait toujours être dans le référentiel et un est également installé avec perl .rename
et susceptible d'être installée sans demander explicitement un paquet qui n'est pas appelé justerename
, est spécifique à Debian. D'autres distributions Linux appellent la commandeprename
ouperl-rename
pour éviter toute confusion avec l'util-linuxrename
et ne le regroupent pas avec le paquet perl, et je ne connais aucun unix non Linux qui le livre sous le nomrename
ou qui le livre dans un installation par défaut sous n'importe quel nom.