Posted May 29, 200619 yr Hello hello. Je suis nul en shell scripting et j'ai parfois qq soucis avec Grip quand il nomme mes .ogg. Ici par exemple tous les fichiers du dossier ont le bon nom mais commencent par <<pas de disque>>. Comment faire pour supprimer ça pour chaque fichier en une seule commande shell? (je me doute que la solution doit être à plein d'endroit sur le net, mais je n'ai pas trouvé si facilement... je m'en remets donc à de vrais pros^^). merci beaucoup. Edited May 29, 200619 yr by mikemowgli
May 29, 200619 yr for i in $(ls *.ogg) do mv $i $(echo $i | sed 's/<<pas\ de\ disque>>//') done Edited May 29, 200619 yr by lorinc
May 29, 200619 yr Author for i in $(ls *.ogg) do mv $i $(echo $i | sed 's/<<pas\ de\ disque>>//') done Ca ne marche pas encore tout à fait car le echo envoie, sur le flux de sortie standard, chaque mot de chaque titre sur une ligne séparée. C'est à dire que le sed n'arrive pas à trouver la séquence "pas de disque" quand echo lui envoie 09 - pas de disquethe offspring - intermission.ogg 10 - pas de disquethe offspring - all i want.ogg une idée? merci
May 29, 200619 yr ah, ben rajoute IFS="" alors allez, testé chez moi : #!/bin/bash IFS="" for i in $(ls *.ogg) do mv $i $(echo $i | sed 's/pas de disque //') done Edited May 29, 200619 yr by lorinc
May 29, 200619 yr Utilise "rename" : rename 's/<<pas\ de\ disque>>//' *.ogg Et hop :) (accessoirement c'est super pratique pour renommer ses MP3)
May 29, 200619 yr Utilise "rename" : rename 's/<<pas\ de\ disque>>//' *.ogg Et hop :) (accessoirement c'est super pratique pour renommer ses MP3) je connaissais pas cette syntaxe pour rename ... t'es sur de ton coup ? regarde au dessus
May 29, 200619 yr Oui oui je l'utilise souvent rename "regex" fichiers Tu peux même utiliser les groupements.
May 29, 200619 yr Oui oui je l'utilise souvent rename "regex" fichiers Tu peux même utiliser les groupements. merci pour le renseignement, mais j'ai été plus rapide PS : j'ai essayé, a marche po ...
May 29, 200619 yr Au passage, on peut directement renomer le bon champs dans grip... Ça évite de rattraper le truc à postériori.
May 29, 200619 yr Author re... c'est encore moi ^^ bon alors lorinc, en fait, ton script avec IFS="" ça marchait............................. pour un seul fichier :/ mais pour pusieurs ça merdoyait... et comme je ne voulais pas paraître plus boulet que nature, j'ai cherché par moi-même et ai appris l'existence de rename. Après quelques essais ça a amrché nickel avec rename pas\ de\ disque '' *.ogg mais pas avec rename 's/pas\ de\ disque//' *.ogg Allez comprendre pourquoi... :) (d'ailleurs si quelqu'un sait, ça me téraisse beaucoup :) aurais-je une version pourrite de rename?) merci à tous et à plus tard pour de nouvelles aventures Au passage, on peut directement renomer le bon champs dans grip... Ça évite de rattraper le truc à postériori. ui j'ai bien config grip mais il merdouillait, pamafôte
May 29, 200619 yr pour le IFS, oui, c'est normal, il faudrait mettre l'équivalent de \n en échappement
May 29, 200619 yr pour le IFS, oui, c'est normal, il faudrait mettre l'équivalent de \n en échappement IFS=$(echo -e "\n")
May 29, 200619 yr ls *.ogg | while read $NOMF do NOUVNOM=sed qui va bien mv $NOMF $NOUVNOM done ... mais rename c'est plus beau :)
Archived
This topic is now archived and is closed to further replies.