fishシェルで拡張子を削除する方法

2020-07-15

シェルはfishを使って結構長いけれど、sh系のシェルの${i%%.mp3}みたいな書き方で変数の拡張子を削除する方法がfishではできない。
一括でファイルを処理するときにこれができないと不便で、ちょっと調べたらbasenameを使う方法がでてきた。

for f in (ls *_bak)
    mv $f (basename $f _bak)
end

こんな感じでbasenameを使って拡張子を削除できる。

備忘録でした。