Supongamos que queremos hacer un script en bash que recorra los nombres de todos los ficheros de un directorio (estos nombres siguen el patrón nombre.ext, por ejemplo imagen01.png, imagen02.png, grafico.png,…)
Si guardamos en foo la ruta a nuestro fichero:
foo=/tmp/mi.directorio/imagen.png
Podemos usar las siguientes intrucciones de manipulación de strings en Bash:
path = ${foo%/*}
Para obtener: /tmp/mi.directorio
file = ${foo##*/}
Para obtener: imagen.png
base = ${file%%.*}
Para obtener: imagen
ext = ${file#*.}
para obtener: png
Todos estos trucos y más, los podéis ver en detalle en este artículo ya muy viejito pero igual de útil que al principio de Linux Gazette
Un comentario en «Separar nombre de extensión de fichero en Bash»