Je ne sais pas pourquoi tout le monde fait toujours la faute.
Il faudrait TOUJOURS quoter les variables bash car si ces variables contiennent des noms avec des espaces - par exemple - ton script tombe à l'eau et parfois, ça peut être catastrophique (surtout quand il y a un rm dans le coin)
donc ici, il faudrait remplacer tous les $i par des "$i". C'est tout simple mais ça vous évitera bien des ennuis !
# Rename
Posté par zephred . Évalué à 6.
# Re: Bash:cmnt substituer le même prefix d'une série de fichiers...
Posté par Eric Oliveri . Évalué à 2.
juste peut être un petit jeu avec des expressions régulières et les notations :
${parameter##word}
et
${parameter%%word}
Exemple remplacement de prefixe (foo_bar* -> bar_bar*):
for i in foo_bar*
do
mv $i bar_${i##foo_}
done
Pour information, ${i##foo_} enlève le préfixe.
Exemple remplacement d'extensions (foo_bar*.C -> foo_bar*.c):
for i in foo_bar*.C
do
mv $i ${i%%.C}.c
done
Bon courage.
[^] # Re: Bash:cmnt substituer le même prefix d'une série de fichiers...
Posté par kd . Évalué à 5.
Il faudrait TOUJOURS quoter les variables bash car si ces variables contiennent des noms avec des espaces - par exemple - ton script tombe à l'eau et parfois, ça peut être catastrophique (surtout quand il y a un rm dans le coin)
donc ici, il faudrait remplacer tous les $i par des "$i". C'est tout simple mais ça vous évitera bien des ennuis !
[^] # Re: Bash:cmnt substituer le même prefix d'une série de fichiers...
Posté par GhZaaark3 . Évalué à 1.
j'ai essayer ton astuce, mais il ne fait que rajouter bar devant foo.
en fait, c'est une partie du nom d'un fichier que je veux zapper
exemple je veux changer ces fichiers:
boblegrand
bobleptit
boblegros
bobetc
en
joelegrand
joeleptit
joelegros
joeetc
voilà
merci
[^] # Re: Bash:cmnt substituer le même prefix d'une série de fichiers...
Posté par GhZaaark3 . Évalué à 1.
merci j'étais pas loin de la solution, mais tu m'as fait gagné du temps
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.