Категорії
Misc, staff, other

vim/sed regexp

Формат регулярных выражений в vim’e/sed’e немного отличается от привычный PCRE. И вот чем:

  • нужно экранировать скобки
  • переменные подстановки $1, $2 ,… заменены на \1, \2,…

Пример.

Выражение

:%s/\(\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}\)/\1 port = 80/g

заменяет строку

XX.XX.XX.XX

на

XX.XX.XX.XX to any port = 80

Хотя в PRCE это выглядело б так:

(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1.3})/$1 port = 80/g

А вот пример для sed’a:

sed 's/\t/ /g' dev | egrep 'IN A|IN CNAME' | sed -e 's/\(^[^ ]*\)\(.*\)/\1\.dev \2/'

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff