首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何限制grep中每个匹配项返回的字符数

如何限制grep中每个匹配项返回的字符数
EN

Stack Overflow用户
提问于 2021-01-22 07:48:38
回答 2查看 110关注 0票数 1

如何将grep -rn "sqs" *显示的结果限制为排除长结果(超过一行或两行)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-22 07:52:24

你可以试试这个find + awk

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
find . -type f -exec awk 'length() <= 80 && /sqs/ {
print FILENAME ":" FNR ":\033[1;31m" $0 "\033[0m "}' {} +

  • length() <= 80将在them.
  • "\033[1;31m" $0 "\033[0m "中有80个或更少字符的行中搜索sqs字符串,用于为red.

行着色。

票数 1
EN

Stack Overflow用户

发布于 2021-01-22 08:16:53

在Perl中使用grep,然后进行过滤,最后,使用grep only添加着色(否则,它不会做任何有用的操作,因为所有行都应该匹配):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grep -rn 'sqs' * | perl -ne 'print if length $_ <= 30' | grep 'sqs'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65848340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文