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つの数字、および残りの文字をそれぞれ切り取り、要件に基づいて並べ替えます。

関連情報