Dec 10

Shell scripts: eliminar extensió del nom d’un fitxer (bash)

Reading time: 1 – 2 minutes

Quan fem shell scripts tenim la necessitat d’extreure l’extensió dels fitxers i ens acostumem, almenys en el meu cas, a fer experiments amb l’ordre cut i d’altres similars intentant treure alguna solució que ens permeti fer això. El més dur és descobrir que sabies com fer-ho d’una forma ràpida i neta. Això és el que em va passar revisant un article que jo mateix havia referenciat: Shell Scripts.

Doncs bé anant al que interessa per extreure una extensió, per exemple .jpg l’únic que em de fer és això:

${FITXER%.jpg}

Perquè us quedi clar, ho pdriem usar en aquest exemple útil:

#!/bin/sh
for FITXER in `ls *gif`
do
        F=`echo ${FITXER%.gif}`
        echo convert $F.gif $F.jpg
done

Com segur que heu descovert el que ens permet fer aquest petit script és convertir tots els fitxers *.gif a *.jpg