Мне нужно заменить сериалы в файлах зон, и я подумал, что проще всего использовать 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/, выглядит следующим образом. На повторном языке это регулярное выражение, которое я получил, соответствует только одной строке.
\s*[0-9]<em>\s</em>;\s*serial
Так что в sed я бы использовал это следующим образом.
sed -i 's/\s*[0-9]<em>\s</em>;\s*serial/20091218 ; serial/g' *.zone
Моя проблема в том, что это ничего не меняет в файле. Я уже пробовал несколько вещей. Спасибо за вашу помощь