用正则来解决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个字符。

这样就满足了我的需求

时间: 2024-10-27 04:56:43

用正则来解决grep时行过长的问题的相关文章

解决卸载时残留目标文件夹的问题

原文:解决卸载时残留目标文件夹的问题上一篇: IS2009制作Oracle 静默安装包(二) 感谢空白先生特许授权 在 uninstalled函数最后加DeleteProgramFolder ( TARGETDIR ) 下一篇: Installshield设置feature为必须选中状态,即必定安装状态

跑批文件执行异常,页面闪退,显示输入行太长

问题描述 跑批文件执行异常,页面闪退,显示输入行太长 @rem "=批量=" @if "%DEBUG%" == "" @echo off @if "%JAVA_HOME%" == "" go JAVAHOME set CMSLIB=C:batchlib set classpath=C:batchlib;C:batchclasses set CLASSPATH==%classpath%;c:batchlibl

在 Web DataGrid 中当鼠标移到某行与离开时行的颜色发生改变(结合&#106avascript)

datagrid|web 在head中添加javascript 代码如下: <script lang=javascript> function sel(i) // 鼠标移上去后执行 {  eval(i+".style.background='#CCCC66'"); // 更改行的颜色  eval(i+".style.cursor='hand'"); // 鼠标移上去后变为手形 } function unsel(i) // 鼠标离开后执行 {  eval(

解决采集时出现msxml3.dll 错误的方法_应用技巧

采集时出现: msxml3.dll 错误 '800c0005'  系统未找到指定的资源.  /Admin/Item/Admin_ItemFunction.asp,行166  我查了资料: 在运用xmlhttp组件编写程序中,会碰到 "msxml3.dll 错误 '800c0005' 系统未找到指定的资源." 这种错误,网上对这种错误的产生原因有很多钟解释,大体说是因为防火墙或UDP站口权限造成了,也说了相应的解决办法.其它有时候也未必.其实错误的描述中就说出了主要的原因 "系

Android SDK Manager解决更新时的问题 :Failed to fetch URL..._Android

         Failed to fectch URl https://dl-ssl.google.com/android/repository/addons_list.xml, reason: Connection to https://dl-ssl.google.com refused        安装使用SDK Manager更新时出现问题 Failed to fetch URL  https://dl-ssl.google.com/android/repository/reposi

解决采集时出现msxml3.dll 错误的方法

采集时出现: msxml3.dll 错误 '800c0005' 系统未找到指定的资源. /Admin/Item/Admin_ItemFunction.asp,行166 我查了资料: 在运用xmlhttp组件编写程序中,会碰到 "msxml3.dll 错误 '800c0005' 系统未找到指定的资源." 这种错误,网上对这种错误的产生原因有很多钟解释,大体说是因为防火墙或UDP站口权限造成了,也说了相应的解决办法.其它有时候也未必.其实错误的描述中就说出了主要的原因 "系统未找

解决绘图时闪烁问题的一点经验

清除屏幕闪烁 (转自网上) <一> 由于作图过于复杂和频繁,所以时常出现闪烁的情况,一些防止闪烁的方法,如下: (1)将Invalidate()替换为InvalidateRect().Invalidate()会导致整个窗口的图象重画,需要的时间比较长,而InvalidateRect()仅仅重画Rect区域内的内容,所以所需时间会少一些.不要为一小块区域的重画就调用Invalidate(),不愿意自己去计算需要重画的Rect,事实上,如果你确实需要改善闪烁的情况,计算一个Rect所用的时间比起重

解决网站体验行之唯艰 从做好细节服务开始

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 当互联网流行开来的时候,人们不得不面对一个棘手的问题,那就是需要记忆一系列的密码,前段时间,还爆发了因为QQ继承权的问题,就是妻子要索取丈夫的QQ号码密码却不可得,由此可以看出,密码已经对我们的生活影响产生了多么巨大的影响!当人们都在呼吁提升网站的体验时,很多都是大方面着手,夸夸其谈,当真正去做的时候,才发觉,提升用户体验,原来是非知之艰,行

瑞星防火墙轻松解决上网时的烦心事

  瑞星个人防火墙V16是瑞星公司的一款永久免费的个人安全产品.它不仅能帮助用户免受网络攻击,还优化了"智能反钓鱼"."广告过滤"."家长保护"等功能,增加了更多实用价值,是一款值得一用的软件.下面,笔者就来简单介绍一下瑞星防火墙的几种实用网络工具. 瑞星防火墙 瑞星个人防火墙V16还拥有实用的网络工具箱,支持流量统计.ADSL优化.IP自动切换.家长控制.网速保护.共享管理等多种功能,为用户带来全面的功能体验. 流量统计.ADSL优化.IP自动