ファイルやディレクトリ操作を行う際に、LinuxやUNIXのコマンドラインで頻繁に使用される basename コマンド 。特にスクリプトを書くときやファイル名を簡単に扱いたいときに便利です。このコマンドを使うことで、パスを含んだファイル名からファイルの「ベースネーム」(つまりファイルの名前部分だけ)を抽出することができます。
今回は、basename コマンド の基本的な使い方と、実際のシチュエーションでの活用方法について解説します。
basename コマンド とは?
basename コマンド は、指定されたパスからディレクトリ部分を取り除き、ファイル名だけを返すコマンドです。具体的には、次のように使用します。
例えば、次のコマンドを実行すると、指定されたパスからファイル名部分のみが返されます。
このように、ファイルパス全体を引数に与えると、basename コマンド はディレクトリ部分を取り除いて「report.txt」だけを表示します。
basename コマンド の基本オプション
特定の拡張子を取り除く
basename コマンド は、ファイル名の後ろに付く特定の文字列(通常は拡張子)を取り除く機能も備えています。これはスクリプトで特定の拡張子を省略したい場合に役立ちます。
この例では、「.txt」拡張子が削除された状態で「report」が返されます。この機能により、ファイル拡張子を意識せずに処理を行うことができます。
複数のパスを処理
また、複数のパスを引数として指定することも可能です。例えば、次のようにコマンドを実行すれば、複数のファイル名を一度に取得できます。
複数のファイル名を扱う場合でも効率よく作業できるのが特徴です。
実用例:スクリプトでの活用
basename コマンド は、シェルスクリプトでの自動化においてもよく使われます。たとえば、バックアップスクリプトを書く際に、ファイルのベースネームだけを使って処理をしたいケースを考えてみましょう。
このように、スクリプト内でパスを扱う場合に、basename コマンド はシンプルかつ効果的に利用できます。
basename コマンド のまとめ
basename コマンド は、シンプルでありながら非常に便利なツールです。ディレクトリパスを処理しやすくするだけでなく、ファイル名の抽出や拡張子の取り除きなど、多くの場面で活躍します。特に、スクリプトを作成する際にその真価を発揮するため、ぜひ活用してみてください。