вторник, 22 апреля 2014 г.

Использование групп регулярок прям в SED

Вот этой связкой комманд мы можем скопировать все файлы с расширением xxx в файлы с такими же именами, но с раширением yyy
user$ ls *.xxx | sed 's/\(.*\)\.xxx$/cp & \1.yyy/' | sh


Как стало понятно из приведенного примера:
1) чтобы определить регепсовую группу мы должны заекранировать скобки ее групы, почему так не понятно
2) но почему-то регексповые точку и звездочку екранировать не нужно
3) & - означает все строка целиком, которая подошла к указанному в седе регекспу.
4) \N - часть подстроки, которая подошла к указанной поддгруппе (1,2,3...N)

Комментариев нет:

Отправить комментарий