dig - nur Hostnamen abrufen

dig - nur Hostnamen abrufen

Kann mir jemand helfen, ob es eine Möglichkeit gibt, von Dig nur Hostnamen abzurufen, wenn ich eine Liste der DNS-Zonen abrufen möchte? Ich arbeite mit diesem Befehl:

dig @dns.example.com example.com axfr

Die Ausgabe ist:

example1.com.  1200   IN   A    1.1.1.1
example2.com.  1200   IN   A    2.2.2.2
....

Ich möchte nur

example1.com
example2.com
....

Ich habe versucht, Filter zu verwenden dig .... | cut -d ' ' -f1, aber in diesem Fall funktioniert es nicht richtig. Vielleicht sollte ich reguläre Ausdrücke verwenden?

Antwort1

Speichern Sie Ihre Ausgabe in TEST und führen Sie dann diesen Befehl aus. Er vergleicht Ihre Ausgabe mit einem regulären Ausdruck, der nach dem Hostnamen sucht.

[[ $TEST =~ ^([a-zA-Z1-9])*.[a-zA-Z]* ]] | echo "${BASH_REMATCH}"

Hoffe das hilft

verwandte Informationen