在Linux中的文本文件中的某个短语之前添加空行?

时间:2015-06-05 22:50:58

标签: linux shell text grep

我正在使用Kali Linux,尝试从Nmap中整理出一些输入。基本上,我从NMap运行扫描,需要从中提取特定的信息。我已经使用以下命令显示了我需要的所有内容:

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

基本上,我需要的每一部分信息都将以[IP地址]"

的" Nmap扫描报告开头

我希望在每次出现单词" Nmap"之前添加我的命令让它创建一个空行,以清楚地分隔每一大块信息。

我可以使用任何命令来执行此操作吗?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

当然,你可以使用Perl。

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