basename(ベースネーム)はパス名 を与えると、最後のスラッシュ ('/') までの部分を削除した文字列を返すUNIX のプログラムである。
Single UNIX Specification におけるbasename の仕様は以下のようになっている。
basename string [suffix]
$ basename /usr/home/jsmith/basename.wiki kibasename.wi
basename が受け取れるパス名の数は一つに限られているので、シェルスクリプトの内部ループ内で使用するには効率が悪い。
whilereadfile;dobasename"$file"done<''some-input''
上記のスクリプトでは入力の各行毎に別のプロセスを起動することになる。このため、典型的にはsed が代わりに用いられる。
sed's/.*\///'<''some-input''