Официальная возможность получить лицензионный софт бесплатно.
Giveaway of the Day
Это не реклама!

Щелкните для получения прогноза по Биробиджану


среда, 22 октября 2014 г.

SED: приводим в порядок дампы зон DNS

Понадобилось мне примерно такое вот привести в машинно-обрабатываемый вид. То есть, провести предварительную подготовку данных - выбрать только информацию об адресах

;  Database file (null) for 127.21.172.in-addr.arpa zone.
;      Zone version:  180
;
@                       IN  SOA cnt10srv031.contoso.com. hostmaster.contoso.com. (
                                180          ; serial number
                                28800        ; refresh
                                7200         ; retry
                                604800       ; expire
                                3600       ) ; default TTL
;
;  Zone NS records
;
@                       NS    cnt10srv030.contoso.com.
@                       NS    cnt30srv030.contoso.com.
;
;  Zone records
;
1                       PTR    cnt30nce017.contoso.com.
152                     PTR    cnt30nce202.contoso.com.
158                     PTR    cnt30prn044.contoso.com.
68                      PTR    cnt30nce907.contoso.com.
85                      [AGE:3627316]    1200    PTR    cnt301512.contoso.com.
87                      [AGE:3627293]    1200    PTR    cnt301561.contoso.com.
90                      PTR    cnt30prn025.contoso.com.

Ну, как известно, командная строка в линуксах рулит. Пропускаем этот дамп через такой фильтр:

cat имя_дампа|grep PTR|sed -e 's/  */ /g;s/\[.*\]//;s/\t/ /g;s/ 1200 //g;s/ 900 //g'

(900 и 1200 - это два вида TTL, встречающихся в этих дампах, не стал вспоминать регекспы, а тупо сделал одну замену за другой)

Получаем на выходе красоту:

1 PTR cnt30nce017.contoso.com.
152 PTR cnt30nce202.contoso.com.
158 PTR cnt30prn044.contoso.com.
68 PTR cnt30nce907.contoso.com.
85 PTR cnt301512.contoso.com.
87 PTR cnt301561.contoso.com.
90 PTR cnt30prn025.contoso.com.

Дальше вставляю полученное в open/libre-office, который видит, что вставляемое очень похоже на табулированные данные и предлагает вставить их как CSV. Разумеется, я не против, только указываю, что столбцы отделяются пробелами...


скриншот окна вставки

Что и требовалось доказать:

частичный скриншот вставленного текста

Попытка вставить подобное в excel 2003 приводит к тому, что вместо трех столбцов получаем только один, и никаких параметров, позволяющих настроить вставку нет: есть только "текст юникод" и "текст". Возможно, в более поздних версиях MSO появилось такое, но не факт.

Дамп прямой зоны обрабатываем похожим фильтром:

grep -v -E ".21.120|.21.121|CNAME" имя_дампа|sed -e 's/  */ /g;s/\[.*\]//;s/\t/ /g;s/ 1200 / /g;s/ 900 / /g;s/ 600 / /g;s/  / /g'

Добавился еще один TTL и из этой зоны нас не интересуют адреса из подсетей 172.21.120.0/24 и 172.21.121.0/24

Получаем:
cnt30srv030 A 172.21.122.212
cnt30SRV041 A 172.21.122.135
cnt30SRV951 A 172.21.122.160

Ну красота же?

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

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

Пожалуйста, воздержитесь от грубостей и персональных нападок.
Я не против матерщины, но она должна быть уместной и использоваться для выражения эмоций, а не в качестве основного средства выражения мыслей.