Commande File

Fermé
Vinz Montréal Messages postés 11 Date d'inscription jeudi 3 février 2011 Statut Membre Dernière intervention 15 mars 2011 - 13 févr. 2011 à 06:04
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 13 févr. 2011 à 09:14
Salut,

Je voudrais savoir comment je peux renommer un fichier (par exemple de type text) avec un if et la commande file.

Par exemple, j'ai fichier toto, je veux lui dire si le fichier est de type text alors renomme le toto.txt

J'utilise la commande file :

if [file toto est de type text]; then

mv toto toto.txt

fi


Je ne vois pas comment exprimer la partie : est de type text ???

Merci pour votre aide
A voir également:

3 réponses

tatou_38 Messages postés 1928 Date d'inscription vendredi 21 avril 2006 Statut Membre Dernière intervention 5 août 2015 120
13 févr. 2011 à 07:37
Bonjour,

Dans quel environnement ?
Avec quel langage ?
0
Vinz Montréal Messages postés 11 Date d'inscription jeudi 3 février 2011 Statut Membre Dernière intervention 15 mars 2011
13 févr. 2011 à 07:44
Salut,

Il s'agit d'un script shell en Bash pour Linux.

Merci
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
Modifié par jisisv le 13/02/2011 à 09:23
Hello,
Tu peux t'inspirer de ce code:
 
johand@osiris:~/src/bash$ cat a.b.c  
Hello 
johand@osiris:~/src/bash$ cat myrename.sh  
#!/bin/sh 
[ $# -eq  1 ] || exit 1 
BASE=${1%.?*} 
MIMETYPE=$(file -i "$1" | cut -d " " -f2| cut -d ";" -f1) 
#echo ${MIMETYPE} 
M1=${MIMETYPE%%/?*}  
M2=${MIMETYPE##?*/} 
echo "M1: ${M1}" 
echo "M2: ${M2}" 
case "$M1" in 
 "text") 
  mv "$1" "${BASE}.txt" 
 ;; 
 *) 
  echo "Tu développes toi-même" 
 ;; 
esac 


johand@osiris:~/src/bash$ ./myrename.sh a.b.c  
M1: text 
M2: plain 
johand@osiris:~/src/bash$ ls -ltr| tail -1 
-rw-r--r-- 1 johand johand    6 13 fév 09:12 a.b.txt 


Tu complètes ton script en effectuant les "case" appropriés seln tes envies.
Johan
Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)
0