Retourner aux forums || Retourner au forum Linux.general

Linux.general : Bash:cmnt substituer le même prefix d'une série de fichiers...

Posté par GhZaaark3 () le 26 octobre 2004
0
...par un autre prefix.

exemple: foo_bar* --> bar_bar*
et aussi comment les enlever: foo_bar* --> bar*

tout ce que j'arrive à faire, c'est rajouter des lettres devant et à la fin du mot.

merci

--
moué...
> Lire le message (5 commentaires, moyenne: 3).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Rename

Posté par zephred () le 26/10/2004 à 03:58. (lien). Évalué à 6.


$ man rename
example1 $ rename foo bar foo*
example2 $ rename foo_ '' foo*

Re: Bash:cmnt substituer le même prefix d'une série de fichiers...

Posté par Eric Oliveri () le 26/10/2004 à 07:29. (lien). Évalué à 2.

Bonjour,

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 Khanh-Dang (page perso, ) le 26/10/2004 à 08:37. (lien). Évalué à 5.

    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 !

  • [^]Re: Bash:cmnt substituer le même prefix d'une série de fichiers...

    Posté par GhZaaark3 () le 30/10/2004 à 19:25. (lien). Évalué à 1.

    justement c'est avec les expressions rationnels que j'essaye, mais j'ai du mal :)

    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

    --
    moué...
    • [^]Re: Bash:cmnt substituer le même prefix d'une série de fichiers...

      Posté par GhZaaark3 () le 30/10/2004 à 19:29. (lien). Évalué à 1.

      non oké ça marche!

      merci j'étais pas loin de la solution, mais tu m'as fait gagné du temps

      --
      moué...

Revenir en haut de page || Retourner aux forums || Retourner au forum Linux.general