Несколько способов:
basename thisfile.xml .xml
basename - это его собственный исполняемый файл, поэтому вы можете вызывать его из сценария оболочки или выполнять из C или языка сценариев.
Если ваша оболочка bash:
FILE=filename.xml
echo “filename: ${file%.*}”
echo “extension: ${file##*.}”
.. и, наконец, с sed
echo "filename.xml" | sed 's/\.xml$//'
То, что '$' в регулярном выражении в sed будет соответствовать только .xmlв конце строки.