mikemowgli Posté(e) le 29 mai 2006 Partager Posté(e) le 29 mai 2006 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 29 mai 2006 Partager Posté(e) le 29 mai 2006 for i in $(ls *.ogg) do mv $i $(echo $i | sed 's/<<pas\ de\ disque>>//') done Lien vers le commentaire Partager sur d’autres sites More sharing options...
mikemowgli Posté(e) le 29 mai 2006 Auteur Partager Posté(e) le 29 mai 2006 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 29 mai 2006 Partager Posté(e) le 29 mai 2006 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Angel Eyes Posté(e) le 29 mai 2006 Partager Posté(e) le 29 mai 2006 et quoi ? et rename ? rename "pas de disque" "" *.ogg Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sentinel Posté(e) le 29 mai 2006 Partager Posté(e) le 29 mai 2006 Utilise "rename" : rename 's/<<pas\ de\ disque>>//' *.ogg Et hop :) (accessoirement c'est super pratique pour renommer ses MP3) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Angel Eyes Posté(e) le 29 mai 2006 Partager Posté(e) le 29 mai 2006 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sentinel Posté(e) le 29 mai 2006 Partager Posté(e) le 29 mai 2006 Oui oui je l'utilise souvent rename "regex" fichiers Tu peux même utiliser les groupements. Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 29 mai 2006 Partager Posté(e) le 29 mai 2006 ah ouais, mais bon, comme le dit la pub : "sed c'est bien" Lien vers le commentaire Partager sur d’autres sites More sharing options...
Angel Eyes Posté(e) le 29 mai 2006 Partager Posté(e) le 29 mai 2006 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 ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 29 mai 2006 Partager Posté(e) le 29 mai 2006 Au passage, on peut directement renomer le bon champs dans grip... Ça évite de rattraper le truc à postériori. Lien vers le commentaire Partager sur d’autres sites More sharing options...
mikemowgli Posté(e) le 29 mai 2006 Auteur Partager Posté(e) le 29 mai 2006 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 29 mai 2006 Partager Posté(e) le 29 mai 2006 pour le IFS, oui, c'est normal, il faudrait mettre l'équivalent de \n en échappement Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 29 mai 2006 Partager Posté(e) le 29 mai 2006 pour le IFS, oui, c'est normal, il faudrait mettre l'équivalent de \n en échappement IFS=$(echo -e "\n") Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 29 mai 2006 Partager Posté(e) le 29 mai 2006 Ou plus simple : IFS=" " Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sandeman Posté(e) le 29 mai 2006 Partager Posté(e) le 29 mai 2006 ls *.ogg | while read $NOMF do NOUVNOM=sed qui va bien mv $NOMF $NOUVNOM done ... mais rename c'est plus beau :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.