Мне нужно заменить серийные номера в моих файлах зоны, и я подумал, что проще всего будет использовать sed, чтобы изменить это. У меня есть следующая строка для тестирования.
@ IN SOA ns1.domain.com. webdev.domain.com. ( 2006080401 ; serial 8H ; refresh 2H ; retry 1W ; expire 4h) ; minimum ttl NS ns1.domain.com. NS ns2.domain.com. MX 10 mail1.domain.com. MX 20 mail2.domain.com. domain.com. A 255.255.255.255 mail1 A 255.255.255.255 mail2 A 10.10.10.10 www CNAME domain.com. ftp CNAME www webmail CNAME www
Регулярное выражение, которое я создал с помощью http://rubular.com/, выглядит следующим образом. На rebular это регулярное выражение, которое я получил, соответствует только одной строке.
\s*[0-9]\s;\s*serial
Итак, в sed я бы использовал это следующим образом.
sed -i 's/\s*[0-9]\s;\s*serial/20091218 ; serial/g' *.zone
Моя проблема в том, что это ничего не меняет в файле. Я уже пробовал несколько вещей. Спасибо за вашу помощь