シェルスクリプト中で、ファイルの拡張子を抽出

Last-modified: 2014-08-16 (土) 12:41:50 (2013d)
$ FILENAME="/data/sh/desktop-open.sh" 
$ basename ${FILENAME}
$ echo ${FILENAME##*.}

basenameしてからbash置換するか、

$ echo ${FILENAME}|sed -e "s/^.*[\.\/]//g"

sed で置換。

いづれにせよ、拡張子が無いファイルはファイル名がそのまま入る。