使用 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 个数字和剩余字符,并根据您的要求进行排列

相关内容