как переименовать файлы? часть 3
Переименовал?
ещё раз:
во первых сам себя файл не переименуется, а доп проверку не поставить, как я уже говорил, команды T и t не многоразовые
:(
регулярное выражение mv (\S+) \1 найдёт то, что переименовывать
не надо
, но как сделать так, что бы искало то что нужно? Ломать не строить!
s/mv (\S+) \1/пропущено: &/
s/^mv.*/&/e
Вот! выполнятся только те строки, что начинаются на mv
и я ещё забыл, что переименовывать надо не в маленькие, а в те, что сейчас...
$ ls \#e* | sed -rn 's/\#eMule-Russian\.MindForge\./&/i
T
s/\#/\\&/; s/.*/mv & &/
s/\#eMule-Russian\.MindForge\./\#eMule-Russian.MindForge./i2p
s/^mv.*/&/e
'
T
s/\#/\\&/; s/.*/mv & &/
s/\#eMule-Russian\.MindForge\./\#eMule-Russian.MindForge./i2p
s/^mv.*/&/e
'
модификатор команды s i2 говорит о том, что такая команда будет искать "#eMule-Russian.MindForge" любыми буквами, однако найдёт только второе вхождение...