Bashでファイル名から拡張子とそれ以外の部分を分離する簡単な方法

example.txtというファイル名から拡張子とそれ以外の部分で分離するサンプル

$ full="example.txt"
$ extension=${full##*.}
$ filename=${full%.*}
$ echo $extension
txt
$ echo $filename
example

/path/to/example.txtのようなフルパスからディレクトリ部分を取り除くのはbasenameコマンドでできます。

$ basename /path/to/example.txt
example.txt

リンク

Bash Reference Manual: Shell Parameter Expansion
http://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html

コメントを残す

メールアドレスが公開されることはありません。