egrep声明与' @'和'&'

时间:2014-12-31 12:19:00

标签: shell unix grep

我正在处理一个shell脚本程序,我遇到@&

/bin/egrep -c '(@ sMAD:|& MAD :)' $File

你能否告诉我egrep在这里做了些什么。我知道我们得到了行数,但这个正则表达式部分对我来说真的很混乱。

1 个答案:

答案 0 :(得分:1)

这是在@ sMAD:引用的文件中查找& MAD :$File并计算满足此条件的行数。

egrep -c '(@ sMAD:|& MAD :)' $File
       ^   ^^^^^^^ ^^^^^^^
       |      |    or this
       |   either this
       count lines that contain

测试

$ cat a
hello
@ sMAD: can match & MAD : everything in the same line  # match 1
& MAD : also does                                      # match 2
but & MAD : is another thing                           # match 3

现在让我们运行命令:

$ egrep -c '(@ sMAD:|& MAD :)' a
3