dirnameはファイルやディレクトリのパス名からファイル名やディレクトリ名を除いたものを抽出するLinuxコマンドだ。
このページでは基本的なdirnameの使い方を解説する。
dirnameコマンドの基本
コマンドの基本動作
使い方は、次のとおり簡単だ。
$ dirname パス名
パス名からファイル名を除いたものを取り出すにはこれだけだ。
パス名「/home/Jim/music/MySound.wav」からファイル名「MySound.wav」を除いたものを抽出する場合は、次のコマンドだ。
$ dirname /home/Jim/music/MySound.wav
ファイル名「MySound.wav」を除いたものを抽出できた。
カレントディレクトリ内のファイルの場合
カレントディレクトリ内のファイルの場合は、結果としてカレントディレクトリを示す「.」を表示する。
パス名「Sound.wav」のディレクトリを表示する場合は、次のコマンドだ。
$ dirname Sound.wav
カレントディレクトリとして「.」が表示された。
コマンドの動作原理
実はdirnameコマンドは、パス名に指定されている文字に対し、一番右側の/以前を抜き出している動作だ。
実在しないパス名を指定してもエラーにならない。
dirname関連コマンド
最後にdirnameコマンドに関連して、基本的なパス名を操作するコマンドも紹介しておく
basenameコマンド
パス名からファイル名を表示する。
まとめ
今回は、dirnameコマンドを使ったパス名からファイル名を抽出する方法を解説した。
プログラムなどでバックアップのファイル名を現在の日時と指定した場合などプログラム変数へファイル名や保存先を指定する場合があるが、そのような時に活用できるだろう。
コメント