如何在更少的搜索量中包含换行符?


16

如何使用更少的内容搜索换行符(或行尾)?

例如,我想搜索length=9\n,但不想仅搜索,length==9因为它会获得的匹配项length=90\n

我在Ubuntu 9.10(Karmic Koala)上使用GNU bash版本4.0.33(1)-发行版(x86_64-pc-linux-gnu)

我尝试阅读友好的手册,但它说

/pattern

在文件中向前搜索包含模式的第N行。N默认为1。模式是一个正则表达式,由系统提供的正则表达式库识别。搜索从显示的第二行开始(但请参见-a和-j选项,它们将对此进行更改)。

而且我不知道如何RTFM之外。


1
您可能还会发现锚定在单词边界上的搜索很有用。/\<length=9\>会在一行中的任何位置找到“ length = 9”,而不匹配“ length = 90”或“ stringlength = 9”。请参阅man 7 regexman grep更多。
暂停,直到另行通知。

1
对于那些正在寻找问题标题答案的人:我不相信您可以在搜索中包括换行符,而不需要花更多的钱。这意味着似乎不太可能进行多行搜索。
drevicko 2012年

Answers:


11

你可以做:

/pattern$

模式替换了pattern,但$必须保留,它告诉搜索查找模式,然后寻找行尾。

所以你会做:

/length=9$
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.