logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 17-01-2020 20:56:01

Anonyme
Invité

prendre une info avec des mots se trouvant sur des lignes différentes.

Bonsoir,


    Stream #0:5(fre): Subtitle: dvd_subtitle, 720x576
    Metadata:
      DURATION        : 00:04:43.272000000
    Stream #0:6(fre): Subtitle: dvd_subtitle, 720x576
    Metadata:
      DURATION        : 00:00:00.000000000
 


     
Sur ces infos ci-dessus, je voudrais prendre en compte que les "Subtitle:" ayant une durée null de "00:00:00.000000000"
J'ai essayer, mais je tape toujours sur les deux à la fois "00:04:43.272000000" et 00:00:00.000000000

Il me faut obligatoirement prendre en considération que "Subtitle:" car avec "DURATION", il y a aussi ce nom pour l'audio et la vidéo.


Une combine ?

Dernière modification par Anonyme (17-01-2020 21:01:29)

#2 18-01-2020 01:40:59

Beta-Pictoris
Membre
Lieu : Angers
Distrib. : Buster
Inscription : 11-08-2015

Re : prendre une info avec des mots se trouvant sur des lignes différentes.

Avec ce script en awk qui affiche le nom du morceau quand la durée est nulle :


#!/usr/bin/awk -f

$3=="Subtitle:" { stream=$2 }

$1=="DURATION" && $3=="00:00:00.000000000" && stream !=""  { print stream; stream="" }
 


Si tu nommes le script par exemple "monscript.awk".

Tu mets des droits dessus:

chmod 755 monscript.awk


Si tes infos sont dans le fichier "info.txt", tu peux lancer le script de cette façon :

./monscript.awk info.txt


Tu peux aussi le lancer comme ceci :

cat info.txt | ./monscript.awk

Dernière modification par Beta-Pictoris (18-01-2020 02:05:15)

Hors ligne

#3 18-01-2020 19:50:06

Anonyme
Invité

Re : prendre une info avec des mots se trouvant sur des lignes différentes.

Bonsoir,

Merci Beta-Pictoris, je regarde tout ça smile

#4 24-01-2020 14:32:55

Anonyme
Invité

Re : prendre une info avec des mots se trouvant sur des lignes différentes.

Voilà le truc :

awk '/dvd_subtitle,/{stop=NR+4}; NR<=stop' | awk '/00:00:00.000000000/ { print $3 }'

Pied de page des forums