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 05-08-2019 12:14:56

Anonyme
Invité

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 Anonyme (05-08-2019 12:28:31)

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

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

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

Anonyme 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

Hors ligne

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

Anonyme
Invité

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

lol lol lol

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

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(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 12:30:21)

Hors ligne

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

Anonyme
Invité

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

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

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

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

Anonyme a écrit :

et je compte


Tu comptes quoi ?

Hors ligne

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

Anonyme
Invité

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

Pour l'instant, je suis et je comprend smile

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

Anonyme
Invité

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

enicar a écrit :

Anonyme 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 Anonyme (05-08-2019 12:36:47)

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

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

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

Anonyme a écrit :

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


C'est à dire comme vrai ou faux ?

Hors ligne

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

Anonyme
Invité

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

enicar a écrit :

Anonyme a écrit :

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


C'est à dire comme vrai ou faux ?



Oui

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

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(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 12:44:05)

Hors ligne

#12 05-08-2019 13:05:08

Anonyme
Invité

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

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

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

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

Anonyme 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 13:10:02)

Hors ligne

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

Anonyme
Invité

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

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

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(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
 

Hors ligne

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

Anonyme
Invité

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 ?

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

vv222
Administrateur
Lieu : Bretagne
Distrib. : Debian Sid
(G)UI : sway
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 !

Ceterum censeo Barum esse delendam

En ligne

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

Anonyme
Invité

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 Anonyme (05-08-2019 14:05:03)

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

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

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

Anonyme 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

Hors ligne

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

Anonyme
Invité

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

enicar a écrit :

Anonyme 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 Anonyme (05-08-2019 14:07:19)

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

vv222
Administrateur
Lieu : Bretagne
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

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

Anonyme 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 !

Ceterum censeo Barum esse delendam

En ligne

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

Anonyme
Invité

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

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

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

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

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

Anonyme a écrit :

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


par flemme ?

Hors ligne

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

Anonyme
Invité

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

Anonyme a écrit :

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



Avec ffmpeg et la libmp3lame :

-acodec libmp3lame -ar 48000 -aq 0

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

Anonyme
Invité

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

enicar a écrit :

Anonyme a écrit :

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


par flemme ?



Pas faux big_smile

Pied de page des forums