我想过滤掉 grep 匹配的行,以便从匹配结果中删除超过某个最大长度的行。
一个示例用例是我使用
grep
来查找特定函数调用的匹配项。我在 Linux 服务器上有一个目录,其中有一组代码存储库。我知道我之前编写过一些使用特定函数的代码,并且我可以将其用作其他内容的示例。
我不记得这个示例代码在哪个目录,但我知道我使用过的一个函数。
如果我
grep
进行匹配而不过滤长行,由于虚假匹配,我会得到一堵文本墙。
我无法轻松提供我在屏幕上看到的任何示例 - 请想象一下
grep
的输出包括一些包含数千个字符的行,实际上有数千行长。这些行模糊了输出并使其无法阅读 - 因此我的目标是将它们过滤掉。
重要的
grep
字符串是grep '^\{1,200\}$'
,这意味着:
^
锚定行首$
锚定线端.\{1,200\}
匹配任何字符 (.
) 1 到 200 次grep -rI some_function . 2>/dev/null | grep '^.\{1,200\}$'