Moin,

Zitat Zitat von Linus Beitrag anzeigen
Danke, aber ich sehe keine Vorteil darin mehr Ausgaben als mit

dig +short <domain>

zu produzieren.
Übrigens habe ich zu einigen Domains auch zwei Canonical Names und mehrere IPs gesehen; auch mit +short ist die Ausgabe von dig nicht einfach.
Der Mehrwert liegt in meinem Beispiel einfach darin, dass Du unterscheiden kannst, welcher Host gerade geprüft wird, mit der einzeiligen Ausgabe von +short siehst Du ja nur IPs / Canonical Names oder eben nichts. Du umgehst das in Deinem Script, indem Du für jeden einzelnen Host einen separaten dig absetzt und das Ergebnis in eine separate Datei schreibst - finde ich ehrlich gesagt nicht besonders schön.

Wie Du an der awk-Ausgabe in meinem Beispiel sehen konntest, wird der Fall mehrerer CNAMES oder mehrerer IPs durchaus berücksichtigt.

Ein kurzer Blick auf Dein Script bestätigt meinen Verdacht: Sehr viele externe Programmaufrufe - sehr oft auch zeilenweise (bei 10.000 Hosts kein Pappenstiel), viele temporäre Dateien. Ich bin schon der Meinung, dass man das eleganter und ressourcenschonender mit awk oder z. B. auch Perl hinkriegt, aber nun ja: Es ist Dein Script ;-)

Eine grundsätzliche Bemerkung: Du benutzt sehr oft die folgende Schleifensyntax:
Code:
cat datei | while read line; do
  ...
done
Das geht auch ohne Pipe + cat, damit sparst Du schonmal 2 Prozesse je Schleife ein:
Code:
while read line; do
  ...
done <datei
Jan