如何从unix中有两个已知和未知字符串的文件中grep?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从unix中有两个已知和未知字符串的文件中grep?相关的知识,希望对你有一定的参考价值。

我试图grep包含两个字符串的行。第一个字符串是“ulist”,第二个字符串可以包含前缀中的任何内容,但应以字符串“path”结尾。只需要对那些包含两个字符串的行进行grepped。

我试过使用下面的grep条件 -

agrep -w "ulist;path" // AND between both patterns as both are required in order to grep a line

这个命令几乎可以满足我想要的所有内容但是它不会获得那些包含“ulist”和“sipath”的行(以字符串路径结尾但仍然没有grepped)。我需要grep所有包含“ulist”和“* path”的行(路径之前可以有任何内容)。但是,这两者都是必需的(这两种模式之间的AND)。

任何人都能建议正确的正则表达式吗?

答案

如果第一个应该在第二个之前

$ grep '\bulist\b.*path\b' file

指定单词的单词边界不作为子串出现。

另一答案
grep -w ".*ulist.*path$" myfile.txt

通过以$结尾,确保字符串'path'位于该行的末尾。

以上是关于如何从unix中有两个已知和未知字符串的文件中grep?的主要内容,如果未能解决你的问题,请参考以下文章

合并流以及已知文件流长度和未知文件长度的文件流读取方法

求助,VB函数的参数个数未知,要如何传递参数

计算 3D 世界点

如何反编译结构未知的protobuff文件

将未知长度的字符串与已知长度的字符串进行比较

如何索引 PyMongo 中已知字段的未知字段?