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

问题描述 投票:0回答:2

我试图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)。

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

bash grep
2个回答
1
投票

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

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

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


1
投票
grep -w ".*ulist.*path$" myfile.txt

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

© www.soinside.com 2019 - 2024. All rights reserved.