Bonjour,
Pour déterminer le format du fichier passer en argument d'un script, j'utilise : file $monfic | grep $monformat
Le probleme est qu'il s'agit d'archives j'ai donc comme format zip gzip et bzip2...
tout me sort en zip :(
J'ai essayé avec file $monfic | grep \<$monformat\> et la ça marche plus (else echo -e "impossible de déterminer le type de $monfic\n")
Question 1 : comment faire pour éviter la confusion entre ces chaînes ?
Question 2 : Y a-t-il un meilleur moyen de connaître le format du fichier ?
Merci
# et avec des espaces ?
Posté par Raphaël Fairise . Évalué à 1.
file $monfic | grep -i " $monformat "
[^] # Re: et avec des espaces ?
Posté par Raphaël Fairise . Évalué à 1.
Je ferais plutôt quelque chose comme ça :
file -b $monfic | grep -i "^$monformat"
[^] # Re: et avec des espaces ?
Posté par Christophe Chailloleau-Leclerc . Évalué à 2.
je ne sais pas comment est la sortie de file, et je n'ai pas de manchot sous la main pour tester, mais si le format est le seul mot sur la ligne, je complèterai avec un $ à la fin de la chaîne du grep, afin de ne pas prendre les mots commencant par $monformat.
Le ^ en début de chaîne prévient bien les gzip et bzip pour zip, mais pas des ziptoto ou zipx si ceux-là existent (bien entendu, l'exemple est foireux ;-) ).
file -b $monfic | grep -i"^$monformat\$"
Bonne chance.
# test
Posté par errno . Évalué à 0.
# option --brief
Posté par gnujsa . Évalué à 5.
file -b $monfic | grep "\<$monformat\>"
Sinon moi j'utiliserai plutot awk:
[^] # Re: option --brief
Posté par gnujsa . Évalué à 2.
[^] # Re: option --brief
Posté par Joris Dedieu (site web personnel) . Évalué à 2.
Je vais utiliser le truc de gnujsa avec awk. Si j'ai bien compris (car j'essaye de comprendre ce que je fais et je ne connais pas awk) $1 représente le premier mot de la sortie de file ($2 le second...).
Cela me donne d'emblée la chaîne que je recherche et sera plus pratique pour introduire d'autres cas.
A++
[^] # Re: option --brief
Posté par gnujsa . Évalué à 2.
echo 'UID'
cat /etc/passwd | awk -F: '{ print $3}'
une petite introduction à awk:
http://www.shellunix.com/awk.html(...)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.