Переименовать файл с помощью sed

Переименовать файл с помощью sed

У меня есть файлы, имена которых имеют формат ddmmyyyyTEXT.txt

Я хочу переименовать все файлы в yyyy-mm-dd-TEXT.txt

Здесь ТЕКСТ — это некоторый произвольный текст.

Какое выражение 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 цифры и оставшиеся символы по отдельности и располагает их в соответствии с вашими требованиями.

Связанный контент