このエントリーをはてなブックマークに追加

シェルスクリプトを書く際に、 与えられたファイルのフルパスなどからファイル名だけを取得したい場合があります。 sedなどで正規表現を使ってやってもよいですが、 basenameというちょっと便利なコマンドがあります。

$ basename /etc/yum.repos.d/CentOS-Base.repo 
CentOS-Base.repo

拡張しを除いたファイル名を抜き出すには、コマンド引数に拡張しを渡します。

$ basename /etc/yum.repos.d/CentOS-Base.repo .repo
CentOS-Base

同様にフルパス文字列からディレクトリ部分だけを抜き出す場合はdirnameコマンドを使います。




記事一覧へ