Detecter l extension d1 fichier avec 1 script

Résolu/Fermé
kollibar - 13 janv. 2008 à 20:29
 kollibar - 13 janv. 2008 à 23:19
Bonjour,

je voudrais avoir un script me permettant de connaitre l extension d'un fichier et d enlever celle ci afin de traiter le fichir et de le convertir vers un autre format....

pour l instant j utilise ceci mais ca ne marche paz si le nom de fichier contient des espace ou plusieurs points a la suite:

# $1 contient le nom de fichier
f=`basename $1`

cour=`exec echo $f 2> /dev/null |cut -d "." -f1`
i=2
ans=""
if [ "$f" == "$cour" ] ; then
echo "$cour"
else
while [ "$cour" != "" ] ; do
# faire action
if [ "$ans" != "" ] ; then
if [ "$nom" == "" ] ; then
nom=$ans
else
nom="$nom.$ans"
fi
fi
ans=$cour
echo "#$cour# $i"
# cour=`exec echo $f 2> /dev/null | cut -d "." -f$i`
cour=`exec echo $f | cut -d "." -f$i`
i=$(($i+1))

sleep 1
done
echo "$nom"
fi

si quelqu'un peut m aider....
merci
A voir également:

3 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 894
13 janv. 2008 à 20:33
Salut,
$ A="fichier.txt"; B="Mon fichier.doc"; C="Mon.beau.ficher.png"

$ echo ${A%.*}
fichier

$ echo ${B%.*}
Mon fichier

$ echo ${C%.*}
Mon.beau.ficher
;-))
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 894
13 janv. 2008 à 20:41
Oups... si tu veux récupérer que l'extension :
$ echo ${A#*.}
txt

$ echo ${B#*.}
doc

$ echo ${C##*.}
png
;-))
0
ok super simple en fait ... merci
0