メインメニューを開く

basename(ベースネーム)は UNIX のプログラムであり、basenameパス名 を与えると、最後のスラッシュ ('/') までの部分を削除した文字列を返す。basenameSingle UNIX Specification に記述されており、主にシェルスクリプトで使われる。

使用法編集

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

関連項目編集

外部リンク編集