Acho que a maneira mais simples é usar operadores de string . Por exemplo, se:
str="/somefolder/andsubfolder/my_first_text.txt"
então você pode usar algo assim:
str=${str##*/}
echo ${str%.txt}
Mas você ainda pode usar cut
com a ajuda de rev
(consulte man cut
e man rev
para obter mais informações):
echo $str | rev | cut -d/ -f1 | cut -d. -f 2- | rev
E a solução usando awk
é:
echo $str | awk -F/ '{print $NF}' | awk -F. '{$NF=""}1'