GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Skript / Befehl zum Abrufen von IPs aus einer Liste von Hostnamen und zum Kombinieren in einer einzigen Datei?

Das übersteigt anscheinend meine derzeitigen Fähigkeiten, da ich es eine Weile versucht habe und nicht viel vorankomme.

Ich wurde gebeten, aus Sicherheitsgründen eine Liste von Hosts und IPs zu erhalten, um einen Scan auf diesen Servern durchzuführen. Es gibt eine Hostliste namens hosts.linux auf dem Server mit allen Hostnamen, nur keine IPs. Ich versuche, ein Skript zu entwickeln, das diese Namen aus dieser Datei übernimmt und dann einen Befehl wie den host ausführt Befehl, um die IP abzurufen.

Dieser Befehl funktioniert zum Beispiel:

host csx-svc-spls-06 | awk '{ print $3 }'

und es gibt nur die IP dieses Servers zurück. Ist es möglich, aus der Datei zu lesen, den Befehl auszuführen und den Namen des Servers und dann die IP-Adresse in einer Zeile in eine neue Datei zu exportieren?

Akzeptierte Antwort:

Ich bin mir nicht sicher, welche Auswirkungen die Verwendung von nslookup gegenüber dig hat, aber ich denke, das könnte funktionieren:

for i in `cat linux.hosts`; do nslookup $i | grep ^Name -A1| awk '{print $2}';echo;done > outputfile

Linux
  1. So löschen Sie Dateien und Verzeichnisse in Linux über die Befehlszeile

  2. So erfassen Sie Terminalsitzungen und geben sie mit dem Linux-Skriptbefehl aus

  3. Wie protokolliere ich jeden in Bash eingegebenen Befehl und jede Dateioperation?

  4. Unfähig, den richtigen Exit-Code aus einem Skript zu erhalten?

  5. Wie kann ich eine Funktion von einem Skript in der Befehlszeile ausführen?

So führen Sie Befehle von der Standardeingabe mit Tee und Xargs in Linux aus

Ls-Befehl in Linux (Dateien und Verzeichnisse auflisten)

So teilen und kombinieren Sie Dateien von der Befehlszeile in Linux

Wie überprüfe ich die Inode-Nutzung über cPanel und die Befehlszeile?

Wie konvertiert man bestimmten Text aus einer Liste in Großbuchstaben?

Holen Sie sich die Gesamtdateigröße aus einer Datei, die eine Dateiliste enthält