basename

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

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

関連項目[編集]

外部リンク[編集]