Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3792 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs

  [bash] prob a la con

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[bash] prob a la con

n°365170
cyplp
Posté le 25-11-2003 à 17:45:22  profilanswer
 

j ai un prob tres con j ai installé grip et lame  
j ai voulu encodé mes cd en ogg, j ai regardé ce que proposé grip par default l'extention est .ogg dc je me dis pas de prob ca va encodé en ogg  
 
j écoute mes .ogg ac rhutmbox mise a jours de ma debian et il les lis plus  
il affige not a vorbis file !
 
je verifie ac file et c'est des mp3 :( et non du ogg
 
j ai quelque Go ed ogg a renomé en .mp3
 
dc si qq un avais une solution simple ca m'interesserai
 
merci
 
 
note à taz non rm -rf /* ne va pas pas arranger le prob ;)

mood
Publicité
Posté le 25-11-2003 à 17:45:22  profilanswer
 

n°365175
Taz
bisounours-codeur
Posté le 25-11-2003 à 18:01:58  profilanswer
 

teubé !!!!
 
for f in $(find -name "*.ogg" ); do
       mv $f $(echo $f | sed s/ogg$/mp3/g)
done;


Message édité par Taz le 25-11-2003 à 18:02:11
n°365176
bobuse
Posté le 25-11-2003 à 18:04:30  profilanswer
 

man rename
 
 
EDIT : la sol de taz est plus complète :D


Message édité par bobuse le 25-11-2003 à 18:05:15
n°365177
Taz
bisounours-codeur
Posté le 25-11-2003 à 18:04:32  profilanswer
 

voire même
 
for f in $(find -name "*.ogg" ); do mv -v $f ${f/ogg/mp3/}; done
 
puisque que ${} fait la substituion
 
ou presque
 
en tout cas la première fonctionne


Message édité par Taz le 25-11-2003 à 18:05:45
n°365181
arsunik
ma tuxitude me beastifie
Posté le 25-11-2003 à 18:10:21  profilanswer
 

Je te conseille d'installer mmv.
C'est un petit utilitaire très pratique qui fait ça.
Pour la solution de Taz, rajoutes qq guillemets, tu pourrais avoir des surprises sans cela.
En bash pur, tu as aussi :

Code :
  1. for i in *.ogg; do mv "$i" "${i%.*}.mp3"; done


Avec mmv :

Code :
  1. mmv '*.ogg' '#1.mp3'


n°365183
Taz
bisounours-codeur
Posté le 25-11-2003 à 18:11:58  profilanswer
 

cool. mais ma solution avec find fonctionne
je connaissais pas mmv, j'ai essayé avec mv et formant des groupes mais ça ne marche pas. mmv fonctionne bien

n°365522
arsunik
ma tuxitude me beastifie
Posté le 26-11-2003 à 01:26:48  profilanswer
 

Taz a écrit :

cool. mais ma solution avec find fonctionne


 
Pas d'avantage, il manque toujours les guillemets. Si un nom de fichier contient des espaces ça bug.

n°365524
Taz
bisounours-codeur
Posté le 26-11-2003 à 01:43:16  profilanswer
 

ah oui c'est vrai j'ai oublié ce détail. pour régler ça avec find, il faut lui passer -fprint0 et récupérer avec xargs --null et là le problème est réglé

n°365718
glacote
Posté le 26-11-2003 à 14:06:42  profilanswer
 

Taz a écrit :

ah oui c'est vrai j'ai oublié ce détail. pour régler ça avec find, il faut lui passer -fprint0 et récupérer avec xargs --null et là le problème est réglé


Tu pourrais l'écrire complètement SVP ? Jamais réussi à le faire correctement sans échapper à la main tous les \,"()[] et consorts
 

Code :
  1. find . -name "*.ogg" -fprint0 | xargs --null ...


je mets quoi dans les "..." ?

n°365729
Taz
bisounours-codeur
Posté le 26-11-2003 à 14:46:26  profilanswer
 

et bien la commande !
man find
man xargs
-fprint0 fait que chaque chemin de fichier est une chaine terminée par un 0 terminal
--null dit à xargs de considérer qu'une chaine setermine par un 0, donc il ne s'arrete plus à un caracètre d'espacement

mood
Publicité
Posté le 26-11-2003 à 14:46:26  profilanswer
 

n°365734
glacote
Posté le 26-11-2003 à 14:56:14  profilanswer
 

Ca j'ai bien compris merci. Ma question est toujours: "que mets-tu dans les ... ?"
Dans ta ligne de commande qui commencera par "mv", tu auras besoin  deux fois du fichier en question.
Moi jusqu'à présent je faisais un petit fichier auxiliaire débile

Code :
  1. #!/bin/sh
  2. echo mv "$1" "${1/ogg/mp3}"


appelé "rn" et ensuite

Code :
  1. find . -name "*.ogg" -fprint0| xargs --null rn | sh


Ma question est donc: comment fait-on pour éviter cette usine à gaz de fichier "rn" et de " | sh" ?
 
[/code]

n°365736
glacote
Posté le 26-11-2003 à 14:57:39  profilanswer
 

NB: Ca marcherait aussi avec un find --exec si du moins on pouvait faire du pattern-replacement dans la commande passée à --exec.
Mais pas réussi pour le moment.

n°365740
arsunik
ma tuxitude me beastifie
Posté le 26-11-2003 à 15:09:26  profilanswer
 

deux minutes de man plus tard :
 

Code :
  1. find . -iname '*.ogg' -print0 | args -0 rename 's/.ogg$/.mp3/'


n°365749
glacote
Posté le 26-11-2003 à 15:36:35  profilanswer
 

Merci. OK, le rename évite d'avoir à passer le nom du fichier en double.
Mais si tu veux faire autre chose qu'un simple rename (un convert par exemple, bref ce que tu veux qui a besoin de deux noms de fichier), comment faire sans passer par un script intermédiaire et un pipe sh ?
EDIT: avec awk '{ print "ma command qui va bien \"" $1 "\" \"" $1 "\""}'  ?


Message édité par glacote le 26-11-2003 à 15:38:43
n°365750
SomeBugsIn​Me
life suxx
Posté le 26-11-2003 à 15:38:23  profilanswer
 

ArSuniK a écrit :

deux minutes de man plus tard :
 
find . -iname '*.ogg' -print0 | xargs -0 rename 's/.ogg$/.mp3/'
 


Message édité par SomeBugsInMe le 26-11-2003 à 15:39:16

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  [bash] prob a la con

 

Sujets relatifs
prob config debian adslMandrake (prob bizard)
[HD Linux] Prob reconnaissance[Mdk 9.2] je n'arrive pas à lire les dvd + prob Miro PCTV - résolus
prob image avec Xine[HELP] Intall Debian sur ASUS P4C800-E prob de detection de HD
prob ftp sur mandrake 8.2[ Shell/Bash ] Quelques commandes pour lancer une appli
Gentoo : prob souris usb et audio nforcebash [résolu], mais prob ouverture session...
Plus de sujets relatifs à : [bash] prob a la con


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)