Debian-facile

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

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

#1 05-08-2019 13:14:56

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Recherche d'un mot dans un fichier audio (nommé parfois différement)

Bonjour,

je voudrais chopper une info (un mot spécifique qui se trouve dans les caractéristiques de celui-ci)
mais ce mot suivant le format de ce fichier musical se nomme: audio,  ou  Audio  ou  encore audio  et ça à une position différente sur la ligne.

pour un wav c'est:

file -b LE_WAV.wav


RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 48000 Hz




pour un mp3 c'est:

file -b LE_MP3.mp3


Audio file with ID3 version 2.4.0




pour un flac c'est:

file -b LE_FLAC.mp3


FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 14226072 samples




il me faudrait un truc du style, une condition qui soit 0 ou 1 :

#!/bin/bash

for FILENAME in "$@"; do

FILETYPE="$(file -b "$FILENAME" ..... LE_TRUC_QUI_ME_MANQUE)

if [ "
$FILETYPE" -eq "0" ]; then

echo "
Aucun Audio"
 else

if [ "
$FILETYPE" -eq "1" ]; then

 "
MA COMMANDE"

fi
fi
   done




J'ai bien bidouillé un truc qui fonctionne, mais si je poste ça, enicar va m'arracher les yeux smile
Je suis même sûr qu'il connait déjà la ligne que j'ai pondue tongue

Merci à vous.

Dernière modification par golgot200 (05-08-2019 13:28:31)

Hors ligne

#2 05-08-2019 13:24:46

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

golgot200 a écrit :

J'ai bien bidouillé un truc qui fonctionne, mais si je poste ça, enicar va m'arracher les yeux smile


Ah ? Tu as encore des yeux ? big_smile


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#3 05-08-2019 13:25:22

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

lol lol lol

Hors ligne

#4 05-08-2019 13:29:10

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

Une regexp avec un grep du genre :


grep -E '\<[aA]udio\>'
 


devrait faire l'affaire. Les « \<  » et « \> »,  ça veut dire limite de début et de fin de mot
respectivement.

Dernière modification par enicar (05-08-2019 13:30:21)


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#5 05-08-2019 13:30:48

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

enicar a écrit :

Une regexp avec un grep du genre :


grep -E '\<[aA]udio\>'
 



et je compte big_smile

Hors ligne

#6 05-08-2019 13:33:35

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

golgot200 a écrit :

et je compte


Tu comptes quoi ?


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#7 05-08-2019 13:33:44

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

Pour l'instant, je suis et je comprend smile

Hors ligne

#8 05-08-2019 13:34:36

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

enicar a écrit :

golgot200 a écrit :

et je compte


Tu comptes quoi ?




Il faut que j'ai 0 ou 1 pour la condition

EDIT : à moins que l'on puisse faire avec le mot en condition ?

Dernière modification par golgot200 (05-08-2019 13:36:47)

Hors ligne

#9 05-08-2019 13:36:11

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

golgot200 a écrit :

Il faut que j'ai 0 ou 1 pour la condition


C'est à dire comme vrai ou faux ?


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#10 05-08-2019 13:37:13

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

enicar a écrit :

golgot200 a écrit :

Il faut que j'ai 0 ou 1 pour la condition


C'est à dire comme vrai ou faux ?



Oui

Hors ligne

#11 05-08-2019 13:42:30

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

Bon, je te propose cela :


#!/bin/bash

for FILENAME in "$@"; do
    if file -b "$FILENAME" |grep -iq '\<audio\>'; then
        echo "Aucun Audio"
    else
        "MA COMMANDE"
    fi
done
 


Pas besoin du FILETYPE on met le grep directement dans la condition
du « if ». C'est à dire que l'on utilise le code de retour de grep, sachant
que le code de retour d'un tube est celui de la dernière commande.

Dernière modification par enicar (05-08-2019 13:44:05)


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#12 05-08-2019 14:05:08

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

le

grep -iq '\<audio\>'



me sort rien sur aucun des fichiers waw, flac ou mp3

par contre un

grep -i '\<audio\>'



me sort bien les infos :

Audio file with ID3 version 2.4.0



ou

RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 48000 Hz



ou encore

FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 14226072 samples

Hors ligne

#13 05-08-2019 14:08:30

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

golgot200 a écrit :

le


grep -iq '\<audio\>'
 


me sort rien sur aucun des fichiers waw, flac ou mp3


Normal, ça sert justement dans les tests où on utilise que le code de retour de
du grep, ça renvoie 0, si le motif est trouvé, 1 sinon. Sachant que 0 est utilisée
comme valeur vraie par le shell, car les commandes qui réussissent renvoient zéro.

Le « -q » c'est pour « quiet », il n'affiche pas de résultats dans le cas
d'une correspondance, mais affiche les erreurs en cas de problème.

Dernière modification par enicar (05-08-2019 14:10:02)


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#14 05-08-2019 14:12:30

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

Je bouffe un morceau pour prendre des forces et je reviens de suite pour faire marcher le cerveau sur ton explication tongue

Hors ligne

#15 05-08-2019 14:22:26

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

Mais je viens de me rendre compte que je me suis trompé,
le principe est bon mais il faut inverser les deux branches du « if »,
quel étourdi je fais là !
Bref la bonne version :


#!/bin/bash

for FILENAME in "$@"; do
    if file -b "$FILENAME" |grep -iq '\<audio\>'; then
        # ta commande ici
    else
        echo "Aucun Audio"
    fi
done
 


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#16 05-08-2019 14:52:21

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

enicar a écrit :

Mais je viens de me rendre compte que je me suis trompé,
le principe est bon mais il faut inverser les deux branches du « if »,
quel étourdi je fais là !
Bref la bonne version :


#!/bin/bash

for FILENAME in "$@"; do
    if file -b "$FILENAME" |grep -iq '\<audio\>'; then
        # ta commande ici
    else
        echo "Aucun Audio"
    fi
done
 




Ça fonctionne très très bien !!!   wink

Une question tu as fais l'impasse sur le [Aa] avec le grep -iq contrairement au grep -E . Ce premier ne fait pas la différence entre les majuscules/minuscules ?

Hors ligne

#17 05-08-2019 14:54:24

vv222
Modérateur
Lieu : Bretagne
Distrib. : GNU/Linux Debian « Sid »
Noyau : Linux ≥ 4.19 (amd64)
(G)UI : Openbox
Inscription : 18-11-2013
Site Web

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

Je pense qu'utiliser `file --mime-type` permettrait de grandement simplifier la suite des opérations.

Deux exemples d'utilisation pour se faire une idée :

file --mime-type darren-korb/2011_bastion/05_the-sole-regret.flac


darren-korb/2011_bastion/05_the-sole-regret.flac: audio/flac


file --mime-type darren-korb/2017_pyre/03_downside-ballad.ogg


darren-korb/2017_pyre/03_downside-ballad.ogg: audio/ogg


Jouer sous Debian ? Facile !

Hors ligne

#18 05-08-2019 15:03:41

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

Je crois que non. Le mp3 va bloquer je pense :

application/octet-stream



EDIT :
C'est pour ça que j'ai voulu cibler "audio"

Dernière modification par golgot200 (05-08-2019 15:05:03)

Hors ligne

#19 05-08-2019 15:04:56

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

golgot200 a écrit :

Une question tu as fais l'impasse sur le [Aa] avec le grep -iq contrairement au grep -E . Ce premier ne fait pas la différence entre les majuscules/minuscules ?


cf man grep wink


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#20 05-08-2019 15:06:00

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

enicar a écrit :

golgot200 a écrit :

Une question tu as fais l'impasse sur le [Aa] avec le grep -iq contrairement au grep -E . Ce premier ne fait pas la différence entre les majuscules/minuscules ?


cf man grep wink



Ben voyons. Mais pourquoi j'ai posé cette question ? big_smile

-i, --ignore-case

Dernière modification par golgot200 (05-08-2019 15:07:19)

Hors ligne

#21 05-08-2019 15:07:07

vv222
Modérateur
Lieu : Bretagne
Distrib. : GNU/Linux Debian « Sid »
Noyau : Linux ≥ 4.19 (amd64)
(G)UI : Openbox
Inscription : 18-11-2013
Site Web

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

golgot200 a écrit :

Je crois que non. Le mp3 va bloquer je pense :

application/octet-stream


Tes fichiers ont un souci d'encodage je pense, voici un exemple d'appel sur un fichier .mp3 chez moi :

file --mime-type jordan-hemenway/2012_nitronic-rush/06_into-the-belly-of-the-beast.mp3


jordan-hemenway/2012_nitronic-rush/06_into-the-belly-of-the-beast.mp3: audio/mpeg


Jouer sous Debian ? Facile !

Hors ligne

#22 05-08-2019 15:08:43

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

Je regarde avec quel programme je les ai encodés neutral

Hors ligne

#23 05-08-2019 15:10:18

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 5.2.8
(G)UI : openbox
Inscription : 26-08-2010

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

golgot200 a écrit :

Ben voyons. Mais pourquoi j'ai posé cette question ?


par flemme ?


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#24 05-08-2019 15:11:02

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

golgot200 a écrit :

Je regarde avec quel programme je les ai encodés neutral



Avec ffmpeg et la libmp3lame :

-acodec libmp3lame -ar 48000 -aq 0

Hors ligne

#25 05-08-2019 15:12:00

golgot200
Membre
Distrib. : Archlinux
Noyau : Linux 5.2.0-arch2-1-ARCH
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Recherche d'un mot dans un fichier audio (nommé parfois différement)

enicar a écrit :

golgot200 a écrit :

Ben voyons. Mais pourquoi j'ai posé cette question ?


par flemme ?



Pas faux big_smile

Hors ligne

Pied de page des forums