首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >它有可能在grep之后设置一个断线吗?

它有可能在grep之后设置一个断线吗?
EN

Stack Overflow用户
提问于 2022-02-19 11:06:23
回答 1查看 43关注 0票数 0

我有这样的代码:

代码语言:javascript
复制
 scan-codes | grep -i '[!]\| url:\|started\|Aborted' | grep -v 'Effective\|style\|WARNING\|The version' 

输出:

代码语言:javascript
复制
        [+] 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
    ############## need break line here ##############
             | [!] 1 vulnerability identified:
             | [!] Title: WPBakery Page Builder < 6.4.1 - Authenticated Stored Cross-Site Scripting (XSS)
############## need break line here ##############
            WARNING: Nokogiri was built against libxml version 2.9.10, but has dynamically loaded 2.9.12

我想在grep后面放一条断线(比如\n)。这是扫描,所以我不能更改文件。

EN

回答 1

Stack Overflow用户

发布于 2022-02-20 00:01:54

建议使用单个awk脚本:

如果匹配合并了2个grep条件,则打印当前行+每2行换行:

代码语言:javascript
复制
  awk '/\[!\]| url:|started|Aborted/ && !/Effective|style|WARNING|The version/ {ln++; print $0 (ln % 2) ? "\n": "";}'

解释

/\[!\]| url:|started|Aborted/正线匹配条件!/Effective|style|WARNING|The version/负线匹配条件

代码语言:javascript
复制
{ # For each line passing all conditions
   ln++; # count printed line
   newLineMaker = (ln % 2) ? "\n": ""; # New line marker any 2nd line
   print $0 newLineMaker; # print 
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71184416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档