[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
basename
: ファイル名からディレクトリと接尾辞を取り除くbasename
は、name の先頭にディレクトリ部分があれば、それを取り除く。
書式:
basename name [suffix] basename option… name… |
suffix が指定されていて、それが name の末尾と同一ならば、
suffix の部分も name から取り除かれる。
気をつけていただきたいが、ファイル名の末尾のスラッシュは、接尾辞のマッチングに先立って除去されるので、
suffix にスラッシュが含まれていると、指定に効果がないことになる。
basename
は、結果を標準出力に表示する。
basename
と dirname
は合わせて設計されており、もし ‘ls "$name"’
が成功するならば、‘cd "$(dirname "$name")"; ls "$(basename "$name")"’
というコマンドの連続も成功するようになっている。
これは、ファイル名の末尾に改行が付いている場合を除いて、あらゆる場合にうまく行く。
POSIX によれば、name が空の場合や ‘//’ の場合に、結果がどうなるかは、
実装側で決めてよいことになっている。前者の場合、GNU の basename
は、空文字列を返す。
後者の場合、// と / とが別のものであるプラットフォームでは、結果は
‘//’ になり、全く区別しないプラットフォームでは、結果は ‘/’ になる。
このプログラムでは以下のオプションが使用できる。参照: 共通オプション. オプションはオペランドの前に置かなければならない。
複数の引数を受け付ける。すべての引数は name として処理される。 このオプションを使用する場合、suffix を指定するならば、‘-s’ オプションを使わなければならない。
末尾にある suffix を除去する。このオプションを指定すると ‘-a’ オプションも指定したことになる。
各行の末尾に改行ではなく、ゼロバイト (ASCII NUL) を出力する。このオプションを使用すると、出力するデータの途中に改行が現れる場合でも、 他のプログラムがその出力を解析できるようになる。
終了ステータス 0 は成功を示し、0 以外の値は失敗を示す。
用例:
# "sort" を出力する。 basename /usr/bin/sort # "stdio" を出力する。 basename include/stdio.h .h # "stdio" を出力する。 basename -s .h include/stdio.h # "stdio", "stdlib" の順に出力する。 basename -a -s .h include/stdio.h include/stdlib.h |
This document was generated on June 7, 2022 using texi2html 1.82.