basename(ベースネーム)は パス名 を与えると、最後のスラッシュ ('/') までの部分を削除した文字列を返すUNIX のプログラムである。
Single UNIX Specification における basename の仕様は以下のようになっている。
basename string [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''