2016-10-30 5 views
1

私はLinuxとbashの新機能です。私はIPアドレスのドメイン名を見つけようとしています。私は、nslookupコマンドを使用するとき、私はLinuxで特定の行を表示したり、nslookupのオプションを表示したりする

Server: 198.60.22.2 
Address: 198.60.22.2#53 

Non-authoritative answer: 
3.150.228.204.in-addr.arpa name = www.computerhope.com. 

Authoritative answers can be found from: 
150.228.204.in-addr.arpa nameserver = ns.xmission.com. 
150.228.204.in-addr.arpa nameserver = ns1.xmission.com. 
150.228.204.in-addr.arpa nameserver = ns2.xmission.com. 
ns.xmission.com Internet address = 166.70.254.2 
ns1.xmission.com Internet address = 204.228.159.2 
ns2.xmission.com Internet address = 207.135.133.2 

は、私が唯一の2行目にwww.computerhope.comを印刷するこの

nslookup 204.228.150.3 

出力のようなラインの束を持っています。これはどうすればいいですか? また、hostコマンドも使用しようとしました。それはよりきれいに見える。

206.153.126.75.in-addr.arpa domain name pointer www.cyberciti.biz. 

ホストコマンドを使用すると、どうすればwww.cyberciti.bizを印刷できますか? あなたがアドレスを含む行を見つけるグレップで

答えて

1
$ host 75.126.153.202 |sed -e 's/.* //' 
www.cyberciti.biz. 
+2

ありがとうございます!どのように動作するか説明してください。私は学ぶことを試みています:) –

+0

sed regex:最後のスペース文字にすべての文字を削除します。 –

1
nslookup 204.228.150.3 | \ 
    grep "in-addr.arpa" | \ 
    cut -d '=' -f 2 | \ 
    tr -d '[:blank:]' 

助けてください。 cutコマンドでは、行を "="記号で区切ります。 trを使用すると、残りのスペースは削除されます。 アドレスが不明の場合、コマンドはエラー処理を行いません。

達成したいことに関する詳細情報を提供する場合は、他の解決策が考えられるかもしれません。 :-)

0

これを実行する別の方法は、パイプにあるhostコマンドawkに:

$ host 75.126.153.202 | awk '{print $NF}'

NFは、組み込みのhostコマンドの出力の最後の列を出力しますawk変数この場合はドメイン名です。

あなたができるまたawkへのパイプnslookup

$ nslookup 75.126.153.202 | awk '$2 ~ /^name$/{print $NF}'

awkは、その2列目にnameを含む行の最後の列を返します。

+0

私は実際に尋ねる前にこれを試しましたが、何らかの理由で最後の行が印刷されませんでした –

+0

印刷物を投稿できますか? – Zlemini

関連する問題