bash 拡張子を除いてファイル名を取得する

bash 拡張子を除いてファイル名を取得する

bashで拡張子を除いてファイル名を取得する手順を記述してます。

環境

  • OS Rocky Linux 8.3
  • bash 5.0

拡張子を除く

「.*」で、一致するものを除くことにより可能です。

変数「fn」に「hoge.txt」を代入

fn=hoge.txt

拡張子を除去します。

fn=${fn%.*}

確認します。

echo $fn

<出力結果>
hoge

カンマが2つあるようなファイルでも、同じ結果となります。

fn=hoge.com.conf
fn=${fn%.*}
echo $fn

<出力結果>
hoge.com