2015-06-05 33 views
0

我正在使用Kali Linux,嘗試從Nmap中挑選一些輸入。基本上,我從NMap上進行掃描,並需要從中提取特定的信息。我知道了,以顯示一切,我需要使用下面的命令:在Linux中的文本文件中的特定短語之前添加空行?

cat discovery.txt | grep 'Nmap scan report for\|Service Info: OS:\|OS CPE:\|OS guesses:\|OS matches\|OS details' 

從本質上講,信息的每個部分我需要將

我願意「爲[IP地址]的Nmap掃描報告」開始喜歡在我的命令中加入讓它在每次出現單詞「Nmap」之前創建一個空白行,以便清楚地區分每個信息塊。

是否有任何命令可以用來做到這一點?

+0

你到目前爲止嘗試過什麼?它不會是一個單一的命令(儘管我打賭'sed'可以完成這項工作,儘管我沒有這方面的經驗),但更有可能的是一個腳本將輸出解析爲您所需的格式。 –

回答

1

當然,你可以使用Perl。

perl -pe 's/^Nmap/\nNmap/' 
+0

哇,真棒,非常感謝你!唯一的問題是它現在切斷字母N(顯示爲Map而不是Nmap) - 任何想法爲什麼會發生這種情況? –

+0

呃,它適合我。如果沒有複製粘貼錯誤,那麼我不知道,對不起。 –

+0

啊我的錯誤是我寫nMap而不是nNmap。再次感謝你的幫助! –

1
sed '/Nmap/i 
' file 

這就是i

的演示後字面換行符:用 「0」 或 「5」

seq 19 | sed '/0$\|5$/i 
' 
1 
2 
3 
4 

5 
6 
7 
8 
9 

10 
11 
12 
13 
14 

15 
16 
17 
18 
19 
結束每行前添加一個換行符
相關問題