Basename

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''

関連項目

外部リンク

  • return non-directory portion of a pathname (英語)
  • Manpage of BASENAME GNU 版。JM Project (日本語)
  • basename(1) man page(SunOS リファレンスマニュアル)(日本語)
  • basename(1) man page(HP-UX リファレンス)(日本語)
Unixコマンド
ファイルとファイルシステム管理
プロセス管理
ユーザ管理/環境
テキスト処理
  • awk
  • banner
  • basename
  • comm(英語版)
  • csplit(英語版)
  • cut
  • diff
  • dirname
  • ed
  • ex(英語版)
  • fmt
  • fold(英語版)
  • head
  • iconv
  • join(英語版)
  • less
  • m4
  • more
  • nkf
  • nl
  • paste(英語版)
  • patch
  • printf(英語版)
  • read(英語版)
  • sed
  • sort
  • spell(英語版)
  • strings
  • tail
  • tr
  • troff
  • uniq
  • vi
  • wc
  • xargs
  • yes
シェルビルトイン
通信
検索
  • find
  • grep
  • locate(英語版)
  • whatis(英語版)
  • whereis(英語版)
マニュアル
  • apropos(英語版)
  • help(英語版)
  • man
ソフトウェア開発
その他
  • bc
  • dc
  • cal
  • date
  • expr
  • false
  • lp(英語版)
  • lpr
  • od
  • sl
  • sleep
  • stty
  • true
  • tty