sed を使用してファイルの名前を変更する

sed を使用してファイルの名前を変更する

ファイル名がddmmyyyyTEXT.txtという形式のファイルがあります

すべてのファイルの名前をyyyy-mm-dd-TEXT.txtに変更したい

ここで、TEXT は任意のテキストです。

どのような sed 式を使用すればよいですか?

答え1

FILE="23022014hello world.txt"
mv "$FILE" "$(echo "$FILE" | sed 's/\([0-9]\{2\}\)\([0-9]\{2\}\)\([0-9]\{4\}\)\(.*\)/\3-\2-\1-\4/')"

最初の2つの数字、次の2つの数字、次の4つの数字、残りの文字を別々に切り取り、必要に応じて配置します。

関連情報