xargs et apostrophes

xargs et apostrophes - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 19-01-2012 à 10:06:58    

Salut,
 
j'essaie d'ecrire une ligne "simple" qui trouve tous les fichiers .ogm et ensuite les envoie a mkvtoolnix pour les convertir en mkv.
 
 
Je passe la partie mkv qui est facile mais j'ai un probleme avec xargs.
 
Ma simple commande est:
 
ls *.ogm | xargs -i basename {} .ogm | xargs -i ls {} .ogm  
 
mais alors j'ai un soucis avec les fichiers qui ont un apostrophe, donc je passe a:
 
ls *.ogm | xargs -0 -i basename {} .ogm | xargs -0 -i ls {} .ogm  
 
La le 1er xargs fonctionne bien, mais le 2e envoit tout le bouzin a ls en une fois, et ls me dit donc que le nom de fichier est bien trop long (normal vu qu'il contient tous les fichiers que je cherche + les retours chariots...)..
 
 
Je tourne depuis quelques heures sans succes (j'ai regarde avec find et exec, mais au final meme soucis).
 
 
Merci!


Message édité par gee le 20-01-2012 à 02:52:34

---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"
Reply

Marsh Posté le 19-01-2012 à 10:06:58   

Reply

Marsh Posté le 20-01-2012 à 02:33:06    

Salut, t'a essayé plus simplement :

Code :
  1. mkvextract *.ogm


 
(en utilisant les globs)

Reply

Marsh Posté le 20-01-2012 à 02:39:54    

Globs?
Sinon ma commande est un brin plus complique qu'une simple conversion mais je simplifiais, et aussi le but de l'exercise est de comprendre pourquoi ca ne fonctionne pas avec xargs, sinon je pourrais utiliser une simple boucle for en bash script :)
 
 
Merci!


---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"
Reply

Marsh Posté le 20-01-2012 à 03:04:05    

http://wiki.bash-hackers.org/syntax/expansion/globs
 
Donne un exemple plus concret de ta commande stp
 

Reply

Marsh Posté le 20-01-2012 à 13:47:17    

Tu veux faire quoi exactement ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed