GNU/Linux >> Tutoriales Linux >  >> Linux

¿Script/comando para obtener IPs de la lista de nombres de host y combinarlos en un solo archivo?

Parece que esto va más allá de mis habilidades actuales, ya que lo he estado intentando durante un tiempo y no he avanzado mucho.

Me han pedido que obtenga una lista de hosts e IP por seguridad para ejecutar un escaneo contra esos servidores. Hay una lista de hosts llamada hosts.linux en el servidor con todos los nombres de host, solo sin direcciones IP. Estoy tratando de crear un script que tome esos nombres de ese archivo y luego ejecute un comando como host comando para obtener la IP.

Este comando funciona, por ejemplo:

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

y devuelve solo la IP de ese servidor. ¿Es posible leer el archivo, ejecutar el comando y exportar el nombre del servidor y luego la dirección IP en una línea a un nuevo archivo?

Respuesta aceptada:

No estoy seguro de las implicaciones de usar nslookup en vez de dig, pero creo que esto podría funcionar:

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

Linux
  1. Cómo dividir y combinar archivos desde la línea de comandos en Linux

  2. ¿Cómo registrar cada comando escrito en Bash y cada operación de archivo?

  3. ¿No puede obtener el código de salida correcto de un script?

  4. ¿Cómo puedo ejecutar una función desde un script en la línea de comandos?

  5. Obtenga una línea específica del archivo de texto usando solo un script de shell

Cómo ejecutar comandos desde la entrada estándar usando Tee y Xargs en Linux

Comando Ls en Linux (Lista de archivos y directorios)

Cómo eliminar archivos y directorios en Linux desde la línea de comandos

Cómo capturar sesiones de terminal y salida con el comando de script de Linux

¿Cómo verificar el uso de Inode desde cPanel y la línea de comandos?

¿Existe una utilidad para leer las variables de entorno de un archivo env y luego ejecutar un comando (más ligero que el capataz)?