假设您有一个名为abc.txt的文件 - 该文件包含2行(或更多行):
word -c (09:35:20)
word -c (09:38:49)
如果运行命令$ grep "word -c" abc.txt
,则只获得第1行,因为1和-c之间的空格数与第2行不匹配。有没有办法解决这个问题?
您不能使用grep'word1|word2' /path/to/file
作为单词和-c之间的空格。
答案 0 :(得分:6)
使用+
正则表达式字符,该字符至少与前面一个字符匹配:
grep -E "word +-c" abc.txt
这个正则表达式是“匹配'单词',后跟一个或多个空格,后跟'-c'。”
答案 1 :(得分:2)
grep'word * -c'abc.txt将起作用。我无法使用grep'word + -c'abc.txt来工作。
答案 2 :(得分:1)
您可以将egrep与正则表达式一起使用
egrep "word\s+-c" abc.txt
或
egrep "word +-c" abc.txt
答案 3 :(得分:0)
grep 'word \+-c' abc.txt
使用单引号而不是双引号。 “+”表示“前面一个或多个表达式,因此会找到任意数量的空格(零除外)。
以下是参考资料:http://www.gnu.org/software/findutils/manual/html_node/find_html/grep-regular-expression-syntax.html