特定のディレクトリの中にあるファイルのファイル名の一部に、例えば、 '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 または e-mail (option):

CAPTCHA Image 左の画像内の式の計算結果を入力:
TWEET
この記事のリンク元

この記事のリンク用URL&トラックバックURL : https://red-souls.jp/ichounoki/rnote/memo/20210114_121718204971.htm

キーワード: Linux ubuntu bash sed