GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでフルパスからファイル名を取得する方法

Linuxでのファイルの絶対パスは、ファイルを見つけるために使用するディレクトリとサブディレクトリを含む完全なアドレスを指します。オペレーティングシステムごとに、ファイルのフルパスのバリエーションが異なります。

Linuxでは、次のようになります。

/home/user/Documents/test.txt

これは、ファイル test.txtの完全なファイルパスです。 。

ファイルパスを手動で処理する場合、ファイル名を取得するのは簡単ですが、ある種の自動化のためにスクリプトを使用している場合、特定のシナリオでファイル名を抽出する必要がある場合があります。

Linuxでフルパスからファイル名を抽出する方法を見てみましょう。

ベース名コマンドの使用

basenameコマンドの全体的な目的 ファイルパスからファイル名を取得することです。フルパスからファイル名を取得することはそれほど難しくありませんが、basenameが自動的に取得し、ファイルパスの解析などの問題を経験する必要はありません。

構文は次のとおりです:

$ basename full_file_path
$ basename /var/log/syslog   [example command]

-aを使用します 複数のパスを渡すための引数。

$ basename -a /var/log/syslog /var/log/dpkg.log

Bashパラメータ置換の使用

Bashパラメータの置換 その場で変数を変更する方法です。したがって、このメソッドを使用するには、ファイルパスを変数に格納する必要があります。

$ fullpath="/var/log/syslog"

次に、パラメータ置換を適用し、値を別の変数に格納します。

$ filename=${fullpath##*/}
$ echo $filename

基本的に、これは次のことを行います。最後の‘/’の前の部分を細断処理します。 「フルパス ’で、文字列の残りの部分だけを保持します。これはファイル名に他なりません。

結論

この記事では、Linuxでフルファイルパスからファイル名を取得する2つの方法について学びました。コマンドbasenameについて詳しく知りたい場合 およびパラメータ Bashでの置換については、それぞれのマニュアルページを次のように確認してください。

$ man basename
$ man bash

読んでいただきありがとうございます。以下にご意見やご質問をお聞かせください。


Linux
  1. ファイルのフルパスを取得するには?

  2. 内部からC++ Linuxプログラムのフルパスを見つける方法は?

  3. Linux で .so ファイルを java.library.path に追加する方法

  1. IP (Linux) からホスト名を取得するには?

  2. コマンドラインから Dropbox ファイルの URL を取得するには?

  3. Linuxでファイルの物理サイズを取得するには?

  1. Linux:システムからすべてのログインログを取得する方法は?

  2. Linux –前日にSarを表示するにはどうすればよいですか?

  3. ターミナルでファイルまたはディレクトリのフルパスを表示するにはどうすればよいですか?