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
Via: