bud77 Posté(e) le 8 août 2013 Partager Posté(e) le 8 août 2013 Je cherche à faire un script qui mofidie les header de mes fichiers mkv, pour indiquer que les ST sont en francais La commande à lancer est la suivante : mkvpropedit "fichier" --edit track:"numéro" --set language=fre Le problème : Lorsque je script çà, les parties "--edit track:"numéro"" et "--set language=fre" se retrouvent inversée dans la commande finale J'ai tenté de les variabilisé, puis de coller les variables ($VAR1$VAR2) mais, là encore l'ordre des commandes sont inversées Donc y'a un truc qui m'échappe et ma rendu totalement fou pendant plus de 2h hier Si quelqu'un a une idée ... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 8 août 2013 Partager Posté(e) le 8 août 2013 (modifié) Lorsque je script çà, les parties "--edit track:"numéro"" et "--set language=fre" se retrouvent inversée dans la commande finale A quoi tu constates ça en pratique? Modifié le 8 août 2013 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bud77 Posté(e) le 8 août 2013 Auteur Partager Posté(e) le 8 août 2013 Via un echo, et via lancement de la commande, qui me dit qu'il manque un bout après "--edit track:3" 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 8 août 2013 Partager Posté(e) le 8 août 2013 Via un echo, et via lancement de la commande, qui me dit qu'il manque un bout après "--edit track:3" Essaie de mettre un "set -x" en début de script pour avoir la trace exacte de la commande 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bud77 Posté(e) le 8 août 2013 Auteur Partager Posté(e) le 8 août 2013 Je test çà ce soir 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CMDC Posté(e) le 8 août 2013 Partager Posté(e) le 8 août 2013 Est-ce qu'un genre de truc comme ça ne fonctionnerait pas ? VAR1=monfichier VAR2=3 mkvpropedit ${VAR1} --edit track:${VAR2} --set language=fre ou alors si cela ne fonctionne pas tente: mkvpropedit ${VAR1} --edit track:`expr ${VAR2}` --set language=fre 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bud77 Posté(e) le 8 août 2013 Auteur Partager Posté(e) le 8 août 2013 Les 2 fonctionnent, le problème n'est pas au niveau variable, mais que les paramètres se retrouvent inversés dans la commande finale : Ca sort (de tête) "mkvpropedit "fichier" --set language=fre -- edit track:3" 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CMDC Posté(e) le 8 août 2013 Partager Posté(e) le 8 août 2013 effectivement, la ça fait un peu désordre ! il faudrait la totalité du script car je suppose que c'est dans une boucle ou un truc comme ça ... et peut-être qu'il te manque une parenthèse, une quote etc... Effectivement un petit set -vx va bien t'aider 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bud77 Posté(e) le 8 août 2013 Auteur Partager Posté(e) le 8 août 2013 Même pas de boucle encore, je suis en tout début de création du script (juste un PoC quoi) Je commence par faire la ligne de base, puis j'améliore petit à petit (boucle, condition...) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bud77 Posté(e) le 8 août 2013 Auteur Partager Posté(e) le 8 août 2013 Bon, j'ai trouvé ... éclair de génie lorsque j'ai lancé mon putty ... J'avais totalement zappé les ^M vu que je venais de créer le script sous windows, et l'éditais depuis win aussi ... J'ai presque honte 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bud77 Posté(e) le 8 août 2013 Auteur Partager Posté(e) le 8 août 2013 Après quelques applications de mon PoC, je me rend compte que je sélectionnais pas tout les éléments nécessaires Du coup, je pêche à mort sur une broutille : Je fais un mkvinfo "fichier" | grep -E "Track number|Track type|Language" |cut -f 2 -d":" Il me sort ceci 1 video und 2 audio und 3 subtitles und Jusqu'ici, tout va bien, c'est ce dont j'ai besoin Maintenant, je dois "extraire" de cette liste le chiffre précédent le "subtitles", vérifier que la langue est bien "und" pour cette piste, et enfin, extraire le numéro des 2 autres pistes L'idéal, serait d'arriver à faire des "blocs" sous la forme 1:video:und 2:audio:und 3:subtitles:und Mais j'ai passé quelques heures sur le truc, et j'arrive pas à m'en sortir avec sed et grep Si une idée vous viens ... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bud77 Posté(e) le 8 août 2013 Auteur Partager Posté(e) le 8 août 2013 (modifié) Je viens de découvrir xargs, qui a solutionné tout çà ! mkvinfo "fichier" |grep -E "Track number|Track type|Language" |cut -f 2 -d":" |xargs -n 3|sed -e 's/ /:/g' Donne bien 1:video:und 2:audio:und 3:subtitles:und Modifié le 8 août 2013 par bud77 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 9 août 2013 Partager Posté(e) le 9 août 2013 Je viens de découvrir xargs, qui a solutionné tout çà ! Elégant détournement de l'usage de la commande xargs (qu'on utilise d'habitude plutôt avec des listes de noms de fichiers en entrée). Sinon (et a titre d'exercice) je pense qu'il doit être possible de tout faire d'un coup avec sed (pour ceux qui maîtrisent bien [ce n'est pas mon cas] les manipulation sur le "pattern space" et le "hold space") 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bud77 Posté(e) le 9 août 2013 Auteur Partager Posté(e) le 9 août 2013 Oui, surement, mais pareil, je ne maitrise que les "basiques" de sed En plus, si tu verrais la commande final (pcq je rajoute encore un grep et un sed juste pour récupérer 1 chiffre au final) elle fait plus de 100 caractères 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
catimimi Posté(e) le 9 août 2013 Partager Posté(e) le 9 août 2013 (modifié) Bonjour, Ton bonheur devrait être ici : http://www.commentcamarche.net/faq/9536-sed-introduction-a-sed-part-i Je m'en sers quelquefois mais je préfère la commande "tr" avec laquelle ce serait facile. Cette commande n'est pas implémentée sur les synos, mais je me la suis compilée une fois pour toutes. Elle est dans les téléchargements. Cordialement. Michel. Modifié le 9 août 2013 par catimimi 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bud77 Posté(e) le 9 août 2013 Auteur Partager Posté(e) le 9 août 2013 Oué je connais aussi TR, et elle est dispo via ipkg, mais je voulais utiliser le plus de programmes "natifs" par défaut Je jetterai un oeil dès au lien que j'aurais la tête un peu plus reposée, merci ! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.