有没有办法限制ack匹配的行的长度?如果 ack 匹配,例如,一个缩小的 javascript 文件,它打印出来的行可能非常大。我仍然希望它显示突出显示的匹配,但理想情况下,在匹配之前和之后使用省略号:"... stuff match stuff ..."
. 在ack 文档中没有看到任何结论性的内容。
我试着用类似的东西来挖掘它
ack pattern | awk '{print substr($0,1,200) }'
但awk
似乎正在剥离颜色和格式,这是不受欢迎的。我也尝试过(请耐心等待):
ack pattern | ack pattern
看看我是否可以重新确认每一行并将其切碎或其他东西,但这有同样的格式问题。管道 ack 输出明显消除了换行符?
根据评论编辑:
也许这将有助于解释我想要这个的主要原因。我使用 ack.vim 在我的项目中进行搜索。我经常想通过我的 javascript 文件来查找一个单词,比如“cookie”。我们在代码中对 jQuery 和其他缩小的库进行了版本控制,因此它们会显示在 ack 结果中。由于这些文件被缩小,因此很少有换行符,并且它在拆分窗口中显示了一条巨大的线,我必须滚动过去。我几乎从不关心那场比赛,所以占用这么多空间很烦人。我可以将那些缩小的文件名添加到我的 ackrc 中以忽略,但我不希望每次添加缩小库时都必须添加新文件名。ack.vim repo 上有一个关于这个的未解决的问题。我想知道是否可以纯粹通过 bash-fu 来做。