basename 概要
`basename` は、指定されたパス文字列から最後のスラッシュ(/)以降の文字列を返します。つまり、ファイルまたはディレクトリの完全パスからその名前部分のみを取得するコマンドです。
basename の役割
`basename` コマンドは主に次のような状況で活用されます:
主な活用分野
- シェルスクリプト: ファイル処理ループでファイル名のみを抽出して特定の作業を実行する場合。
- ログ解析: パスが含まれるログからファイル名のみをフィルタリングして統計資料を作成する場合。
- 自動化: ファイル名に基づいて別のファイル名を生成または処理する場合。
主要 basename コマンドオプション
`basename` コマンドはシンプルですが、便利なオプションを通じて特定の拡張子を削除するなどの追加機能を実行できます。
1. 基本的な使用法
2. 拡張子削除オプション
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`basename` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
`basename` コマンドの実用的な使用例を通じて、ファイル名抽出と処理を練習してみてください。
ファイルパスからファイル名を抽出
basename /home/user/documents/report.pdf
`/home/user/documents/report.pdf` パスから純粋なファイル名である `report.pdf` を抽出します。
ディレクトリパスから最後のディレクトリ名を抽出
basename /var/log/apache2/
`/var/log/apache2/` パスから最後のディレクトリ名である `apache2` を抽出します。
ファイル拡張子の削除
basename image.png .png
`image.png` ファイル名から `.png` 拡張子を削除して `image` だけを残します。
複雑な拡張子の削除
basename archive.tar.gz .tar.gz
`archive.tar.gz` から `.tar.gz` 拡張子を削除して `archive` だけを残します。
スクリプトでの basename 活用例
for file in *.log; do
base_name=$(basename "$file" .log)
echo "Processing: $base_name"
done
for ループを使用して、`.log` 拡張子を持つファイルの基本名のみを出力するシェルスクリプトの例です。