2016-10-12 3 views
0
間で包まれた選択を印刷する方法

下図のように私はnmapの結果を持っている:のawk/sedの2つのパターン

Starting Nmap 7.12 (https://nmap.org) at 2016-10-12 23:20 WIB 
Nmap scan report for 192.168.1.1 
Host is up (0.0013s latency). 
Not shown: 2953 closed ports, 43 filtered ports 
PORT  STATE SERVICE 
7001/tcp open afs3-callback 
|_weblogic-t3-info: T3 protocol in use (WebLogic version: 10.3.5.0) 
7002/tcp open afs3-prserver 
8001/tcp open vcom-tunnel 
|_weblogic-t3-info: T3 protocol in use (WebLogic version: 10.3.5.0) 
8002/tcp open teradataordbms 
9022/tcp open paragent 

私の質問です:

7001/tcp open | afs3-callback | 10.3.5.0 
8001/tcp open | vcom-tunnel | 10.3.5.0 
:その後、次の形式で印刷する特定のパターンを取得する方法

事前

+0

""、私は次のコード行っているが、結果はまだ基づい が./型F -exec awkのサブ(/ ^のTCP /見つかりません){sub(/ [^ 0-9] \/* /、 ""); port = $ 0}/weblogic \ -t3 \ -info/{print FILENAME port} '{} \; – nurulhudamustaqim

+1

Qを編集して問題を解決し、上記のコメントを削除してください。編集ボックスの左上にある強調表示されたテキストの '{}'フォーマットツールを使用して、コード/データ/出力としてフォーマットします。がんばろう。 – shellter

答えて

1

sed '$!N; /|/{s/\([^ ]*\)\n/| \1 /;s/_.*://;s/)//p;}; D' 
+0

ありがとう、その作品、完璧 – nurulhudamustaqim

0

のおかげで、私は完全にあなたを理解していないけど、あなたはで2つのパターン非常にeasely間で包まれた印刷の選択をすることができます:

sed -ne '/pattern1/,/pattern2/p' file.txt 

(そして、もちろん、あなたがあなたのケースのようだとして、パイプから標準入力をリダイレクトしていることができます)。

私はこれはそれを行うだろうと思い
関連する問題