Использование sed для массового переименования файлов
Задача
Измените эти имена файлов:
F00001-0708-RG-biasliuydaF00001-0708-CS-akgdlaulF00001-0708-VF-hioulgiglна эти имена файлов:
F0001-0708-RG-biasliuydaF0001-0708-CS-akgdlaulF0001-0708-VF-hioulgiglShell Code
Тестировать:
ls F00001-0708-*|sed 's/\(.\).\(.*\)/mv & \1\2/'
Для выполнения:
ls F00001-0708-*|sed 's/\(.\).\(.*\)/mv & \1\2/' | sh
Мой вопрос
Я не понимаю код sed. Я понимаю, что команда подстановки
$ sed 's/something/mv'
средства. И я немного понимаю регулярные выражения. Но я не понимаю, что здесь происходит:
\(.\).\(.*\)
или здесь:
& \1\2/
Первый, для меня, просто выглядит так, как будто это означает: «один символ, за которым следует один символ, за которым следует любая длина последовательности одного символа» - но, безусловно, это еще не все. Что касается последней части:
& \1\2/
Я понятия не имею. Я действительно хочу понять этот код. Пожалуйста, помогите мне здесь, ребята.