如何在grep命令输出后添加换行符以分隔扫描结果?
在grep输出中为漏洞条目添加分隔换行的解决方案
要给你的扫描结果里的每条漏洞添加分隔换行,不用修改源文件,只需要在现有grep命令后面追加管道处理就行。这里有两个简单好用的方法:
方法1:用sed快速插入换行
直接在匹配到漏洞起始标记的行之前插入空行:
scan-codes | grep -i '[!]\| url:\|started\|Aborted' | grep -v 'Effective\|style\|WARNING\|The version' | sed '/\[!\] 1 vulnerability identified:/i\\n'
这个命令里,sed '/\[!\] 1 vulnerability identified:/i\\n'的作用是:每找到包含[!] 1 vulnerability identified:的行,就先输出一个空行,再输出该行内容。
方法2:用awk精准控制(避免开头空行)
如果不想在第一条漏洞前面多出空行,可以用awk判断行号,只在非首条漏洞前插入换行:
scan-codes | grep -i '[!]\| url:\|started\|Aborted' | grep -v 'Effective\|style\|WARNING\|The version' | awk '/\[!\] 1 vulnerability identified:/ && NR>1 {print ""} {print}'
逻辑说明:
NR>1确保操作只针对非第一行的内容- 当匹配到漏洞起始行且不是首行时,先打印一个空行
- 最后统一打印当前行内容
处理后的效果示例
原本连在一起的漏洞会变成清晰分隔的格式:
[+] Started: Sat Feb 19 05:21:00 2022
[!] 1 vulnerability identified: | [!] Title: Cookie Notice & Compliance for GDPR / CCPA < 2.1.2 - Admin+ Stored Cross-Site Scripting
[!] 1 vulnerability identified: | [!] Title: WPBakery Page Builder < 6.4.1 - Authenticated Stored Cross-Site Scripting
内容的提问来源于stack exchange,提问作者Lucas Fernandes
相关产品推荐
相关产品推荐

