basename(ベースネーム)は パス名 を与えると、最後のスラッシュ ('/') までの部分を削除した文字列を返すUNIX のプログラムである。

使用法 編集

Single UNIX Specification における basename の仕様は以下のようになっている。

basename string [suffix]
string
パス名
suffix
指定されたとき、basename は suffix も削除する。

編集

$ basename /usr/home/jsmith/basename.wiki ki
basename.wi

効率 編集

basename が受け取れるパス名の数は一つに限られているので、シェルスクリプトの内部ループ内で使用するには効率が悪い。

while read file; do
  basename "$file"
done < ''some-input''

上記のスクリプトでは入力の各行毎に別のプロセスを起動することになる。このため、典型的には sed が代わりに用いられる。

sed 's/.*\///' < ''some-input''

関連項目 編集

外部リンク 編集