Egrepの間に改行を追加するにはどうすればよいですか?
# nmap -sP 192.168.1.0/24 | egrep 'MAC|report'
2行のそれぞれの後に改行を追加したいと思います。最も効率的な速記は何ですか?
基本的に、結果を次のように出力したいと思います。
Nmap scan report for 192.168.1.7
MAC Address: C4:42:02:xx:xx:xx (Samsung Electronics Co.)
Nmap scan report for 192.168.1.8
MAC Address: 04:F1:3E:xx:xx:xx (Apple)
Nmap scan report for 192.168.1.10
MAC Address: 70:18:8B:xx:xx:xx (Hon Hai Precision Ind. Co.)
2行のそれぞれの後に改行を追加したいと思います。
この文字通りの問題の解決策は ここ です。あなたの場合:
nmap -sP 192.168.1.0/24 | egrep 'MAC|report' | sed '0~2 s/$/\n/g'
ただし、一部のレポートでnmap
行が欠落しているMAC
出力を見たので、(行を盲目的にカウントするのではなく)すべてのNmap
の前に改行が必要です(ただし、それは最初の行にあります:
nmap -sP 192.168.1.0/24 | egrep 'MAC|report' | sed '1! s/^Nmap/\nNmap/'
私は思いついた
nmap -sP 192.168.10/24 | egrep 'MAC|report|Host is up' | sed '/Host is/c\\r'
これにより、追加の文字列「Host is up」が検索され、キャリッジリターンに置き換えられます。
これにより、次の出力が得られます。
Nmap scan report for 192.168.1.1
MAC Address: 00:0E:C6:C7:93:38 (Asix Electronics)
Nmap scan report for (192.168.1.254)
MAC Address: 1C:C1:DE:80:53:55 (Hewlett Packard)
Nmap scan report for 192.168.1.250