怎样避免grep时一个长行一大片的输出?

笨笨阿林
  • 272

用grep搜索一个字符串,结果屏幕一大片的输出,感觉没完没了,估计是一个长行。请看图:

图片描述

当所要查找的字符串位于这样的长行中时,请问怎么避免这种输出一大片一大片的情况呢?

如果grep无法解决,那有其他替代性的文本搜索命令可以解决吗?

谢谢!

回复
阅读 1.2k
2 个回答
✓ 已被采纳

您可以使用grep选项-o,可以与匹配模式相结合,如 ".{0,10}<original pattern>.{0,10}" 以便查看它周围的一些上下文:

   -o, - 只匹配
          仅显示与PATTERN匹配的匹配行的一部分。

..或-c:

   -c, -  count
          抑制正常输出; 而是打印匹配行的计数
          对于每个输入文件。使用-v, -  inverse-match选项,计算不匹配的行。
                                  

例如:

 grep -oE ".{0,20}mysearchstring.{0,20}" myfile    

man grep 是指南, 你可以只显示匹配的那一部分, 如

grep -o keyword file

或者统计出现的行数

grep -c keyword file
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏