用正则来解决grep时行过长的问题

简介:

之前自己写了个函数用来查找文件中匹配关键字的

fxg_old(){
    find . -type f -name $1 | xargs grep $2 
}

但是今天在用的时候,发现如果匹配到的行过长的话,输出很难看,而且也不知道哪里匹配到了。

所以就想能不能对行的长度做限制,但是grep里并没有这个参数选项。于是想到了用正则去控制匹配串。在so上找到了这样的代码

 fxg(){
    find . -type f -name $1 | xargs grep -oE ".{0,20}$2.{0,20}"
 }

-o 只输出匹配的部分。 如果只加这个选项,那么就输出N行的$2。

-E 使用扩展的正则(有人提到用-P,Perl正则,但是在我这里出现错误)

后面的正则表达式用来匹配前后20个字符。

这样就满足了我的需求


目录
相关文章
|
SQL 分布式计算 Unix
阿里云-DataWorks- ODPS SQL开发3-日期与字符、数学运算、聚合函数函数
阿里云-DataWorks- ODPS SQL开发3 本文主要讲解日常大量会接触到的一些常用的日期与字符、数学运算、聚合函数函数。
|
Ubuntu Linux
Ubuntu中下载编译linux内核源码
Ubuntu中下载编译linux内核源码
Ubuntu中下载编译linux内核源码
|
XML 安全 Java
Spring高手之路19——Spring AOP注解指南
在本文中,我们将深入探索Spring AOP(面向切面编程)的核心概念及其在现代Spring应用中的实际应用。从基本的注解使用到复杂的切面配置,本文将一步步指导你如何利用Spring AOP提升代码的模块化,帮助你在Spring开发路上更进一步。
241 3
Spring高手之路19——Spring AOP注解指南
|
存储 开发者 Docker
|
人工智能 Oracle 关系型数据库
【AI Agent系列】【LangGraph】0. 快速上手:协同LangChain,LangGraph帮你用图结构轻松构建多智能体应用
【AI Agent系列】【LangGraph】0. 快速上手:协同LangChain,LangGraph帮你用图结构轻松构建多智能体应用
2006 0
|
存储 Java 关系型数据库
【Elasticsearch 技术分享】—— 十张图带大家看懂 ES 原理 !明白为什么说:ES 是准实时的!
说到 Elasticsearch ,其中最明显的一个特点就是 near real-time 准实时 —— 当文档存储在Elasticsearch中时,将在1秒内以几乎实时的方式对其进行索引和完全搜索。那为什么说 ES 是准实时的呢?
1501 0
|
SQL 存储 安全
mysql的用户名和密码怎么查
mysql的用户名和密码怎么查
|
缓存 网络协议 Java
Android O/P/Q 版本移植iperf网络性能测试工具
Android O/P/Q 版本移植iperf网络性能测试工具
716 0
|
机器学习/深度学习 人工智能 监控
ML 模型监控最佳工具(下)
如果您迟早将模型部署到生产环境,那么您将开始寻找 ML 模型监控工具。 当您的 ML 模型影响业务时,您只需要了解“事物是如何工作的”。 当事物停止工作时,你真正感受到这一点的第一刻。如果没有设置模型监控,您可能不知道哪里出了问题以及从哪里开始寻找问题和解决方案。