Reconnaitre un type de fichier en shell

Fermé
nokoda - 4 mai 2010 à 14:20
 nokoda - 4 mai 2010 à 15:22
Bonjour, voila, j'ai un probleme ; )

j'ai une variable comme ceci : busauto3=$(/home/$USER/monfichier)

ensuite, une serie de commandes qui modifient ce fichier, probleme, ma variable ne doit pointer que sur des fichiers vidéos ou musicaux, malheuresement, si je la fait pointer sur du texte ou autre, le script continu de s'executer, comment dois-je m'y prendre pour arreter l'execution du script si le fichier n'est pas une video ou un son ?

merci d'avance !
A voir également:

4 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
4 mai 2010 à 14:25
Salut,

file fichier

Devrait te renvoyer le type de fichier, ou du moins tu devrais pouvoir faire le tri en fonction du résultat (man file pour plus de détails).
0
Merci, c'est bien cette commande qu'il me fallait,

si je fais un :

file $busauto3

cela me renvoie bien le type de fichier,, mais il faudrait que je fasse agir cette commande comme un filtre, qui ne garde que les fichiers de type multimédia, or je ne sais pas du tout coment m'y prendre, aurais tu une idée s'il te plait ?
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
4 mai 2010 à 14:41
Est-ce qu'ils ont une extension tes fichiers ?
0
certains ont une extension, ".mp3" et ".flv" majoritairement, mais les autres n'ont qu'un nom simple, "mavideo", et pour voir quelle est le format je dois faire un clique droit > propriété
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
4 mai 2010 à 15:02
Un truc du genre devrait t'aider :

for fich in *
do
file -ib "${fich}" | egrep 'audio|video'
if [ "$?" = "0" ]
then
traitement du fichier
fi
0
merci, je test ça !
0