文字列置換は sed を使って処理していましたが、実は Shell でもっと単純に、簡単に処理できたんですね。
構文 | 処理 | 検索方向 | 一致箇所 |
${変数名#パターン} | 文字列削除 | 前方一致 | 最短一致 |
${変数名##パターン} | 最長一致 | ||
${変数名%パターン} | 後方一致 | 最短一致 | |
${変数名%%パターン} | 最長一致 | ||
${変数名/置換前文字列/置換後文字列} | 文字列置換 | 最初に一致した文字列 | |
${変数名//置換前文字列/置換後文字列} | 一致した全文字列 |
一連のファイル名を変更したい場合には、こんな風に使えます。
例) blue という文字列が含まれた一連のファイルのファイル名の blue を orange に変更
for file in `ls`;do mv $file ${file/blue/orange};done