bashでファイル名を加工する

bashでデータを書き換えるスクリプトを書く時に,出力するファイル名を作るやり方をいつも忘れるのでメモ.

変数から該当する文字列を除去する

bashでは変数のパラメータ展開によって文字列を切り取ることができます.
このときに使うのが”#”,”##”,”%”,”%%”の4つ.

“##”は前方から見て一致する最長の文字列を除去する.
上の例だと”*/”は”/path/to/”に一致する.
“#”を使うと最長ではなく最短になるので,”/”だけに一致してしまう.

“%”と”%%”は後方から見る点が異なる.

“%”は”#”と同じく最短一致で,”%%”は”##”と同じく最長一致で除去される.

パラメータ展開についてのリンク

Bashの変数パラメータ展開のまとめ
bashスクリプトだけで、ファイル名、拡張子を取得する
シェルのパラメータ展開でスクリプト自身のファイル名を取得する
bash

未分類

Posted by tanitanin


PAGE TOP