У меня эти данные в текстовом файле. что необходимо преобразовать, чтобы положить в шаблонеAwk пропуская пустые строки
data.txt
* A 11.22.33.44
mail A 11.22.33.44
domain1.com A 11.22.33.44
ftp CNAME domain1.com
www CNAME domain1.com
domain1.com MX mail.domain1.com
* A 55.66.77.88
mail A 55.66.77.88
domain2.com A 55.66.77.88
ftp CNAME domain2.com
www CNAME domain2.com
domain2.com MX mail.domain2.com
Запуск его хотя это vim
команды
:g/NS/d | :%s/CNAME/cnamerecord/g | :%s/A/arecord/g | :%s/MX/mxrecord/g
изменяет его:
arecord * 11.22.33.44
arecord mail 11.22.33.44
arecord domain1.com 11.22.33.44
ftp cnamerecord domain1.com
www cnamerecord domain1.com
domain1.com mxrecord mail.domain1.com
arecord * 55.66.77.88
arecord mail 55.66.77.88
arecord domain2.com 55.66.77.88
ftp cnamerecord domain2.com
www cnamerecord domain2.com
domain2.com mxrecord mail.domain2.com
Сейчас я введите команду AWK
cat data.txt |
awk '{if ($2 == "arecord") print $2 " " $1 " " $3}
{if ($2 == "cnamerecord") print $2 " " $1 "." $3 " " $3}
{if ($2 == "mxrecord") print $2 " " $1 " " $3}'
и выход заключается в следующем:
arecord * 11.22.33.44
arecord mail 11.22.33.44
arecord domain1.com 11.22.33.44
cnamerecord ftp.domain1.com domain1.com
cnamerecord www.domain1.com domain1.com
mxrecord domain1.com mail.domain1.com
arecord * 55.66.77.88
arecord mail 55.66.77.88
arecord domain2.com 55.66.77.88
cnamerecord ftp.domain2.com domain2.com
cnamerecord www.domain2.com domain2.com
mxrecord domain2.com mail.domain2.com
Теперь, есть две проблемы:
Проблема номер 1 и моя самая большая головная боль: как сделать так, чтобы пространство между данными. В файле, который я хотел бы сохранить, есть пустая строка.
Проблема № 2 (бонусные очки): в моем AWK код, который я хотел бы, ARecord, чтобы показать, как:
arecord *.domain1.com 55.66.77.88
arecord mail.domain1.com 55.66.77.88
arecord domain1 55.66.77.88
НЕ:
arecord * 11.22.33.44
arecord mail 11.22.33.44
arecord domain1.com 11.22.33.44
Окончательный идеальный результат будет выглядеть следующим образом
arecord *.domain1.com 11.22.33.44
arecord mail.domain1.com 11.22.33.44
arecord domain1.com 11.22.33.44
cnamerecord ftp.domain1.com domain1.com
cnamerecord www.domain1.com domain1.com
mxrecord domain1.com mail.domain1.com
arecord *.domain2.com 55.66.77.88
arecord mail.domain2.com 55.66.77.88
arecord domain2.com 55.66.77.88
cnamerecord ftp.domain2.com domain2.com
cnamerecord www.domain2.com domain2.com
mxrecord domain2.com mail.domain2.com
Я должен это сделать для 150 доменов
Любая помощь будет замечательной
Это не будет очень далеко, без правильного форматирования. Не могли бы вы правильно отформатировать? – iruvar