特定のディレクトリの中にあるファイルのファイル名の一部に、例えば、 'hoge-' を追加したい場合は、下のようにすればよい。
for x in *.html; do mv "${x}" "hoge-${x}"; done
ただ、この方法だと、ファイル名の一部を「削除」したファイル名を一括で作成することはできない。
例えば、 hoge-01.html, hoge-02.html, hoge-03.html, ... のようなファイル名のファイルがあるとき、 01.html, 02.html, 03.html, ... のようにファイル名を一括して変更したい場合のことだ。
このような場合は、
for x in *.html; do echo "mv ${x}" | sed -e 's/hoge-//g' | sed -e "s/mv /mv ${x} /g" | bash; done
のように、 sed を2回通した結果を bash に渡せばいい。
この記事のリンク用URL&トラックバックURL : https://red-souls.jp/ichounoki/rnote/memo/20210114_121718204971.htm