0
我需要以指定的顺序grep一个大文件的单词(真的是一串字符)。我还需要能够包含冒号“:”的字符串。例如,如果单词是“苹果”,“香蕉”和“桃子”,我会得到这样一句话:“苹果樱桃香蕉酷:桃子”,而不是“苹果:桃子樱桃香蕉酷”。我真的希望能够在其他grep命令中使用一个字符串而不是grep命令。我不关心只搜索整个单词。grep为特定顺序的字符串
我需要以指定的顺序grep一个大文件的单词(真的是一串字符)。我还需要能够包含冒号“:”的字符串。例如,如果单词是“苹果”,“香蕉”和“桃子”,我会得到这样一句话:“苹果樱桃香蕉酷:桃子”,而不是“苹果:桃子樱桃香蕉酷”。我真的希望能够在其他grep命令中使用一个字符串而不是grep命令。我不关心只搜索整个单词。grep为特定顺序的字符串
grep "apple.*banana.*:peach" file
例如,
$ echo "apple cherries banana cool :peach" | grep "apple.*banana.*:peach"
apple cherries banana cool :peach
$ echo "apple :peach cherries banana cool" |grep "apple.*banana.*:peach"
$
很简单的正则表达式。 “苹果”,“香蕉”和“桃子”部分只是文字串。它们之间的.*
是两个正则表达式运算符 - .
将匹配任何字符,并且*
表示前一个匹配可以匹配0或更多次。
从本质上讲,我们是说发现这个顺序对这些文字字符串,与任意数量的他们之间的字符(包括没有,所以即使“applebanana:桃子”会匹配。)
您是否尝试过使用正则表达式像这样:“苹果。*香蕉。*:桃子”? – AKJ88