Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/01/2017, à 22:37

Compte anonymisé

[Résolu]Changer un resultat 0 0 0 par 0 1 2

Bonsoir,

J'ai un bout de script :

#!/bin/sh

list="130 131 132"   
echo $list
AUDIO="$list"

for map in $AUDIO    
do   
        echo "-map i:"$map -metadata:s:a:0  
done
list="130 131 132"

est le nombre de bandes audio trouvées. J'ai fait ça manuellement pour l'exemple.

Le résultat est :

130 131 132

-map i:130 -metadata:s:a:0
-map i:131 -metadata:s:a:0
-map i:132 -metadata:s:a:0

Mais voilà, j'ai beau chercher à droite et gauche sur le net et n'y comprenant pas grand chose, il m'aurait fallu le résultat suivant :

$MAP  -metadata:s:a:0 -metadata:s:a:1  -metadata:s:a:2

En fait le truc, c'est que quant il y a détection de 1, 2 ou 3  langues audio fr, il me les tags (qui se fera facilement pour moi après ce problème résolu)

Merci par avance pour l'aide.



J'ai bien trouvé un début de piste mais comment assembler tout ça.

for i in $(seq -f  "-metadata:s:a:%01g" 0 2); 
do   echo $i; 
done

Dernière modification par Compte anonymisé (Le 17/01/2017, à 10:27)

#2 Le 13/01/2017, à 23:21

pingouinux

Re : [Résolu]Changer un resultat 0 0 0 par 0 1 2

Bonsoir,
Je n'ai pas compris ce que tu voulais obtenir exactement en partant de list="130 131 132"

Ajouté : Si tu veux obtenir la ligne que tu montres en #2, c'est

list="130 131 132"
printf -- "-map i:%d " $list
n=0
N=$(wc -w <<<"$list")
while ((n<N))
do
   printf -- "-metadata:s:a:$n language=fra -metadata:s:a:$n title=\"Français AC3\" "
   ((n++))
done
echo

Dernière modification par pingouinux (Le 13/01/2017, à 23:51)

Hors ligne