在Unix“较少”中,我可以跳到不包含X的下一行吗?


21

在Unix less工具中,是否可以跳至包含特定表达式的下一行?

有时,我有时需要浏览包含数千个相似的相邻行的文件,例如,所有人都说“ Computing something ”,而我对当前块之后的下一行感兴趣,该行不包含单词“ Computing”。

Answers:


29

是的,这是不匹配搜索功能,例如:

less file.conf

然后输入/,然后!最后一行应如下所示:

Non-match /

然后输入您的模式,例如Non-match /^#寻找第一行而不开始#

除了!字符,您还可以使用Ctrl+N


1
太棒了。没想到会有更好的答案。
dehmann

4

除了Casual Coder的答案外:

您也可以完全过滤掉这些行:

<logfile grep -v mypattern |less 

缺点是您必须退出并重新启动grep才能更改模式。优点是隐藏了您不想看到的线条,这使得在感兴趣的线条中更容易发现有趣的图案。


1

您不仅可以不包含X,你可以隐藏包含X线,用线之间跳转less&正则表达式过滤器命令。

less file.conf

然后键入&!^Computingenter密钥和所有那些线将从视图中隐藏。

您仍然可以使用进行搜索/

找到所需的行后,如果需要它们的上下文,&则可以将其他的带回去-输入然后enter删除过滤器的键。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.