ホーム > ファイル・ディレクトリ管理 > basename

basename: ファイルパスからファイル名を取得

basenameコマンドは、指定されたファイルパスからディレクトリパスを削除し、純粋なファイル名のみを抽出します。オプションでファイル名から特定の接尾辞(suffix)を削除することもできます。シェルスクリプトでファイル名のみが必要な場合に便利です。

概要

basenameは、ファイルパス文字列の最後のスラッシュ(/)以降の文字列を返します。これはファイルのベース名(base name)を意味します。接尾辞を指定すると、その接尾辞も削除できます。`basename-t`は標準のLinuxコマンド`basename`の有効なオプションではなく、一般的に`basename`コマンドを指す際に使用されません。このガイドでは、標準の`basename`コマンドについて説明します。

主な機能

  • ファイルパスからファイル名のみを抽出
  • ファイル名から特定の接尾辞を削除
  • 複数のファイルパスを一度に処理

主なオプション

basenameコマンドは、ファイルパスからファイル名を抽出し、必要に応じて接尾辞を削除したり、複数のパスを処理したりするために使用されるいくつかの便利なオプションを提供します。

基本動作と処理

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`basename` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用例

basenameコマンドの様々な使い方を示す例です。

基本ファイル名の抽出

basename /home/user/documents/report.pdf

指定されたパスからディレクトリ部分を削除し、ファイル名のみを抽出します。

特定の接尾辞の削除

basename /home/user/documents/report.pdf .pdf

ファイル名から'.pdf'の接尾辞を削除します。

複数ファイル名の処理(-aオプション)

basename -a /path/to/file1.txt /another/path/image.jpg

複数のファイルパスからファイル名を一度に抽出します。

変数との使用

FILE_PATH="/var/log/syslog.log"
basename "$FILE_PATH"

シェル変数に格納されたパスからファイル名を抽出します。

接尾辞オプション(-s)の使用

basename -s .tar.gz archive.tar.gz

-sオプションを使用して接尾辞を明示的に削除します。

ヒントと注意点

basenameコマンドを効果的に使用するためのヒントと注意点です。

スクリプトでの活用

basenameは、シェルスクリプトでファイル名を動的に処理する際に非常に役立ちます。例えば、バックアップスクリプトで元のファイル名から拡張子を削除し、新しい名前を生成することができます。

  • 変数と組み合わせて使用する際は、常に引用符を使用して、スペースや特殊文字が含まれるパスを正しく処理してください。
  • dirnameコマンドと組み合わせて、ファイルパスをディレクトリとファイル名に分離できます。

接尾辞の一致

接尾辞(SUFFIX)は、ファイル名の末尾と正確に一致した場合にのみ削除されます。部分的に一致したり、ファイル名の中間にある接尾辞は削除されません。

パス区切り文字

basenameはスラッシュ(/)をパス区切り文字として認識します。Windowsスタイルのバックスラッシュ(\)のパスは直接処理できないため、必要に応じてsedやtrなどのコマンドで事前に変換する必要があります。


関連するコマンド

機能的に類似しているか、よく一緒に使われるコマンドです。


同じカテゴリのコマンド