basename
はじめに こんにちは!今回はbasenameコマンドについて解説します。 basenameはファイルパスからファイル名だけを抽出するコマンドです。フルパスが与えられたときに、最後のファイル名部分だけが欲しい時に超便利ですね。 スクリプトを書く時に頻繁に出てくるコマンドなので、これを機にマスターしちゃいましょう! basenameコマンドとは basenameは、フルパスやファイルパスからファイル名の部分だけを取り出す外部コマンドです。 例えば、/home/user/documents/file.txtというパスが与えられたとき、basenameはfile.txtだけを抽出します。シェルスクリプトの中で、ディレクトリパスに関係なくファイル名だけを処理したい時に重宝するコマンドです。 基本構文 1 basename パス [サフィックス] パスはファイルのパス、サフィックス(省略可)は除外したい拡張子です。 主なオプション オプション 説明 -a 複数のパス引数をすべて処理(GNU拡張) -s サフィックスを指定(GNU拡張) -z 出力をNUL文字で区切る(GNU拡張) 使用例 例1: 基本的なパスからファイル名を抽出 1 basename /home/user/documents/file.txt 実行結果: 1 file.txt フルパスからfile.txtというファイル名だけを取り出します。これが基本的な使い方です。 例2: 拡張子を除外する 1 basename /home/user/documents/file.txt .txt 実行結果: 1 file 第2引数に.txtを指定することで、拡張子を除外してfileだけを取り出します。 例3: シンプルなファイル名を処理 1 basename document.pdf 実行結果: 1 document.pdf 既にファイル名だけが与えられた場合は、そのまま返します。 例4: ディレクトリパスも処理 1 basename /var/log/system.log 実行結果: 1 system.log どんなディレクトリ階層からでも、ファイル名だけを取り出します。 例5: サフィックス指定で拡張子削除 1 basename /etc/config/app.conf .conf 実行結果: ...