Aller au contenu

Script Qui Me Rend Fou !


bud77

Messages recommandés

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 ...

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 ...
Lien vers le commentaire
Partager sur d’autres sites

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é par bud77
Lien vers le commentaire
Partager sur d’autres sites

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")

Lien vers le commentaire
Partager sur d’autres sites

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é par catimimi
Lien vers le commentaire
Partager sur d’autres sites

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.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.