我有一个文件myfile。我想找到包含以下图案的线条:

MyWebsite/1234

或更一般
SomeCharactersStringsWhitespacesMyWebsite/987SomeCharactersStringsWhitespaces
MyWebsite之后可以有一个或多个数字。
我试过以下几点:
grep ".*MyWebsite[0-9]\{1,\}" myfile
grep "MyWebsite[0-9]\{1,\}" myfile
grep MyWebsite"[0-9]\{1,\}" myfile
grep -E ".*MyWebsite/[0-9]\{1,\}.*" myfile

即使直觉和逻辑认为这应该是好的,但它们都没有起作用。

最佳答案

grep 'MyWebsite/[0-9]\+' myfile应该有效。在前3个regex中,您错过了/,在最后一个regex中,您不应该逃过{},否则您就相当不错了。不过,使用+比使用{1,}更简洁,grep默认使用的regex版本(posix bre的一个变体)要求对其进行转义。

09-26 08:40