0

基本的に、nmap からの出力があり、IP が表示され、その下に開いているポートのリストが表示され、その後に空白行が続きます。不要になったポート(grep -v httpなど) を除外しましたが、次のポートを持たない IP アドレスを削除する方法がわかりません。

sedでこれを行う方法はありますか?

サンプルデータ:

Nmap scan report for 1.1.1.1
3389/tcp  open  ms-term-serv
5357/tcp  open  unknown
5432/tcp  open  postgresql
8080/tcp  open  http-proxy
49152/tcp open  unknown
49153/tcp open  unknown
49154/tcp open  unknown
49155/tcp open  unknown

Nmap scan report for 2.2.2.2

Nmap scan report for 3.3.3.3
80/tcp    open  http
443/tcp   open  https
6646/tcp  open  unknown
8000/tcp  open  http-alt
49152/tcp open  unknown
49153/tcp open  unknown
49154/tcp open  unknown
49156/tcp open  unknown
49157/tcp open  unknown
4

3 に答える 3

0

それはかなり簡単ですsed

sed '$!N;/\n$/d' filename

または、その場でファイルを変更したい場合:

sed -i '' '$!N;/\n$/d' filename
于 2013-04-10T21:41:40.580 に答える