Linuxコマンド basename(ファイル名のパスからファイル名のみを表示する)
ファイル名のパスからディレクトリを取り除き、ファイル名のみを出力するコマンドについて解説。
RHEL Fedora CentOS Vine Deblan Ubuntu Plamo
参考サイト:Man page of INSTALL
使用方法
指定した文字列からディレクトリ名部分を除いて表示します。また、拡張子を指定した場合は、ファイル名から拡張子を抜いて表示します。
指定するパスは、実際に存在するパスでなくても問題ありません。
実際はシェルスクリプト内で使用されることが多い。
書式
$ basename [オプション] パス [拡張子]
-a, –multiple | 複数の引数を取るようにする |
-s 拡張子, –suffix=拡張子 | -aオプションを使う際に取り除く末尾後(拡張子)を指定する |
-z, –zero | 行末を改行の代わりにNULL文字にする |
サンプル
$ basename /home/centos/work/sample1.txt
$ basename ./work/sample1.txt
$ basename work/sample1.txt
実行結果
[centos@xxx work]$ basename /home/centos/work/sample1.txt
sample1.txt
[centos@xxx work]$ basename ./work/sample1.txt
sample1.txt
[centos@xxx work]$ basename work/sample1.txt
sample1.txt
[centos@xxx work]$
パスから拡張子を除いてファイル名を表示する
引数に拡張子を指定すると拡張子を出力するファイル名から拡張子を除外することができる。
サンプル
$ basename /home/centos/work/sample1.txt .txt
実行結果
[centos@xxx ~]$ basename /home/centos/work/sample1.txt .txt
sample1
[centos@xxx ~]$