Регулярные выражения в shell(bash), на примере использования sed.

0
SUCCESS: Your vote is considered!

как переименовать файлы? часть 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
'
 

 

модификатор команды s i2 говорит о том, что такая команда будет искать "#eMule-Russian.MindForge" любыми буквами, однако найдёт только второе вхождение...


Пожалуйста войдите, что-бы оставить коментарий.
Нет акаунта? Регистрация