正则表达式有助于定位命令的上下文

时间:2015-03-26 20:02:21

标签: regex

我想搜索名为“codes”的所有文件和目录。

所以我输入locate --regex "/<codes "为“\&lt;” anchor允许我将输出限制为只有“代码”的输出。但我得到了这个输出:

/usr/share/hplip/base/codes.py

/usr/share/hplip/base/codes.pyc

的/ usr /共享/林田/数据/文件/ 不正确-区域代码

的/ usr /共享/林田/数据/文件/ 区域代码

的/ usr /共享/ pkgconfig / 异codes.pc

这里我的模式中包含“代码”,但它们是较大单词的一部分,例如“iso-codes”。基本上我想要一个正则表达式,允许我找到只有“代码”的文件和目录,而不是其他

3 个答案:

答案 0 :(得分:1)

尝试对扩展程序进行分组:

\/codes(\.[\w]+)?$

这会将/codes/codes.asdf与任何扩展名匹配,不会有双重扩展名。 $强制文件名结尾,因此没有前缀匹配。有关演示,请参阅here

答案 1 :(得分:0)

这个正则表达式应该适合你

\/codes\.?\b

Demo

答案 2 :(得分:0)

搜索&#34; / codes&#34;然后是斜线,点或输入结束:

\/codes(\/|\.|$)

请参阅demo