最初の行にのみ一致する行ブロックのソート

最初の行にのみ一致する行ブロックのソート

次の Nmap 出力ファイルがあります。

Nmap scan report for AAAAAAAAAAAAAAAAAA.akamaitechnologies.com (IP)
Host is up, received user-set (0.027s latency).
Scanned at 2016-10-09 14:43:24 CEST for 15s
PORT    STATE SERVICE  REASON         VERSION
443/tcp open  ssl/http syn-ack ttl 59 AkamaiGHost (Akamai's HTTP Acceleration/Mirror service)
Nmap scan report for AAAAAAAAAAAAAAAAAA.akamaitechnologies.com (IP)
Host is up, received user-set.
Scanned at 2016-10-09 14:43:21 CEST for 2s
PORT     STATE    SERVICE      REASON      VERSION
2222/tcp filtered EtherNetIP-1 no-response
Nmap scan report for CCCCCCCCCCC. googleusercontent.com (IP)
Host is up, received user-set (0.15s latency).
Scanned at 2016-10-09 14:43:21 CEST for 3s
PORT     STATE SERVICE REASON         VERSION
2222/tcp open  ssh     syn-ack ttl 55 ProFTPD mod_sftp 0.9.9 (protocol 2.0)
Nmap scan report for BBBBBBBBBBBBBBBBBBB
Host is up, received user-set (0.16s latency).
Scanned at 2016-10-09 14:43:21 CEST for 3s
PORT     STATE SERVICE REASON         VERSION
2222/tcp open  ssh     syn-ack ttl 51 ProFTPD mod_sftp 0.9.9 (protocol 2.0)
Nmap scan report for AAAAAAAAAAAAAAAAAA.akamaitechnologies.com (IP)
Host is up, received user-set (0.027s latency).
Scanned at 2016-10-09 14:43:24 CEST for 15s
PORT    STATE SERVICE  REASON         VERSION
443/tcp open  ssl/http syn-ack ttl 59 AkamaiGHost (Akamai's HTTP Acceleration/Mirror service)

5行ブロックごとに並べ替え一致 "Nmap Scan Report"を使用してこのファイルを並べ替えたいと思います。出力は次のようになります。

Nmap scan report for AAAAAAAAAAAAAAAAAA.akamaitechnologies.com (IP)
Host is up, received user-set (0.027s latency).
Scanned at 2016-10-09 14:43:24 CEST for 15s
PORT    STATE SERVICE  REASON         VERSION
443/tcp open  ssl/http syn-ack ttl 59 AkamaiGHost (Akamai's HTTP Acceleration/Mirror service)
Nmap scan report for AAAAAAAAAAAAAAAAAA.akamaitechnologies.com (IP)
Host is up, received user-set.
Scanned at 2016-10-09 14:43:21 CEST for 2s
PORT     STATE    SERVICE      REASON      VERSION
2222/tcp filtered EtherNetIP-1 no-response
Nmap scan report for BBBBBBBBBBBBBBBBBBB
Host is up, received user-set (0.16s latency).
Scanned at 2016-10-09 14:43:21 CEST for 3s
PORT     STATE SERVICE REASON         VERSION
2222/tcp open  ssh     syn-ack ttl 51 ProFTPD mod_sftp 0.9.9 (protocol 2.0)
Nmap scan report for CCCCCCCCCCC. googleusercontent.com (IP)
Host is up, received user-set (0.15s latency).
Scanned at 2016-10-09 14:43:21 CEST for 3s
PORT     STATE SERVICE REASON         VERSION
2222/tcp open  ssh     syn-ack ttl 55 ProFTPD mod_sftp 0.9.9 (protocol 2.0)

Unixコマンドを使用するソリューションを高く評価します。

ベストアンサー1

5行ブロックのリンクされた各行に対して(たとえば、\x02入力でそうでない可能性の低いASCII文字を使用する - ツールがサポートしていると仮定)、最初のフィールドをソートしてから改行を復元します。

sed 'N;N;N;N;s/\n/\x02/g' infile | sort -t$'\02' -k1,1 | tr '\02' '\n'

おすすめ記事