Tendo um nome de caminho é possível extrair seu nome de arquivo , excluindo sua extensão conhecida a priori , com basename :
$ pathname="/home/paulo/paulo.pdf"
$ printf "%s\n" "$(basename $pathname .pdf)"
paulo
Mas se a extensão não for conhecida, como isso pode ser feito?