Detecter l extension d1 fichier avec 1 script

Résolu
kollibar -  
 kollibar -
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

3 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Oups... si tu veux récupérer que l'extension :
    $ echo ${A#*.}
    txt
    
    $ echo ${B#*.}
    doc
    
    $ echo ${C##*.}
    png
    ;-))
    0
  3. kollibar
     
    ok super simple en fait ... merci
    0