2012-08-29 26 views
-1

我有一個測試文件中的主機列表。我試圖將輸出組織成3列。 我想在主機名和ilo-hostname上執行nslookup,並將結果放入如下所示的列中。將nslookup的結果寫入列

Hostname IP-hostname ilo-hosntame 
Host-1   FQN  FQN 
Host-2   FQN   ** server can't find Host-2: SERVFAIL 

編輯: 我現在有一個看起來像這樣的

主機名
IloHostname
Hotname
IloHostname
主機名**服務器無法找到IloHostname文件:// SERVFAIL時Ilohostname未找到或不存在

用於創建此文件的腳本

egrep 'Name:|SERVFAIL' list3 | awk '{sub(/Name:/,"")}; 1' | awk '{$1=$1}1' | awk -F. '{print $1}' 

項目list3是NSLOOKUP

回答

0

輸出,則可以使用host代替nslookup。它的輸出格式更適合後處理來完成你想要的功能。

0
This perl code maybe could be useful with some modifications: 

#!/usr/bin/perl 
use strict; 
use warnings; 
while(<DATA>){ 
    my %table; 
    print; 
    my @res = qx/nslookup $_/; 
    my @eres = grep {/(\w+)\:\s+(\S+)\s*/g} @res; 
    #now you got it 
    foreach my $r (@eres){ 
     if ($r =~ /Name:(.*)/) {print "$1\t"} 
     if ($r =~ /Address:(.*)\n/ and not $r =~ /\#/) {print "$1\n"} 
    } 
} 

__DATA__ 
www.cisco.com 
www.google.com 
www.yahoo.com