Commande File

Vinz Montréal Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   -
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 1937 Date d'inscription   Statut Membre Dernière intervention   121
 
Bonjour,

Dans quel environnement ?
Avec quel langage ?
0
Vinz Montréal Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,

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

Merci
0
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
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