Reconnaitre un type de fichier en shell

nokoda -  
 nokoda -
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   Statut Modérateur Dernière intervention   4 896
 
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
nokoda
 
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   Statut Modérateur Dernière intervention   4 896
 
Est-ce qu'ils ont une extension tes fichiers ?
0
nokoda
 
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   Statut Modérateur Dernière intervention   4 896
 
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
nokoda
 
merci, je test ça !
0