有没有办法限制ack匹配行的长度?如果ack匹配(例如,缩小的JavaScript文件),则它打印的行可能非常大。我仍然希望它显示突出显示的匹配,但理想情况下与匹配elipses前后的线条匹配:"... stuff match stuff ..."
。在the ack docs没有看到任何结论。Bash-ack - 匹配行的限制长度
我试图挖掘到它的东西,如
ack pattern | awk '{print substr($0,1,200) }'
但awk
似乎被剥离着色和格式化,这是不需要的。我也试过(包涵了第二):
ack pattern | ack pattern
,看看我是否可以重新发送对各条线和砍它或东西,但有相同的格式问题。管道确认输出显然删除了换行符?基于评论
编辑:
也许这将有助于解释最主要的原因,我想这一点。我使用ack.vim在我的项目中搜索。我经常想通过我的JavaScript文件来查找单词,如“cookie”。我们在我们的代码中使用了jQuery和其他缩小的库版本,所以它们显示在ack结果中。由于这些文件被缩小了,几乎没有换行符,并且在拆分窗口中显示了一条巨大的线条,我必须滚动过去。我几乎从不关心那场比赛,所以占用这么多空间让人讨厌。我可以将这些缩小的文件名添加到我的ackrc中以忽略,但我不希望每次添加缩小的库时都不必添加新的文件名。有关于此的ack.vim回购有an open issue。我想知道是否可以纯粹通过bash-fu来完成。
这将有助于了解您匹配的模式以及JavaScript文件的相关部分是什么样的......我怀疑您将会有更多的运气进行模式匹配,而不是采取固定宽度子字符串。 –
我添加了一个编辑 –