我有一个文件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的一个变体)要求对其进行转义。