正規表現をもとにファイルのリネームを行いたい場合、以下のコマンドで実施できる。
例).txt を .log に変更する。
ls -1 | sed -nE "s/^(.+)\.txt$/'\0' '\1.log'/p" | xargs -n2 mv -b
サブディレクトリ内も対象に含める場合はls
をfind
にかえれば良い。
find -type f | sed -nE "s/^(.+)\.txt$/'\0' '\1.log'/p" | xargs -n2 mv -b
...Windowsを使っているなら、PowerRenameを使ったほうが手っ取り早いとは思う。