Greping文件夹名称,但不包括“@ domain.com”

时间:2011-06-24 13:34:42

标签: linux scripting grep

是否可以从grep中排除某个域?我在下面尝试的似乎不起作用。

ls -l /var/www/folder | grep -E -o --exclude-dir="@somedomain.com" --color "\b[a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9.-]+\b">>test.txt

2 个答案:

答案 0 :(得分:2)

这个怎么样

ls -l /var/www/folder | grep -v "@somedomain.com"

测试用例:

$ mkdir -p /tmp/test && cd $_
$ touch {a,b,c,d}@domain.com
$ touch {e,f}@somedomain.com
$ ls
domain.com  b@domain.com  c@domain.com  d@domain.com  e@somedomain.com  f@somedomain.com
$ ls -1 | grep -v "@somedomain.com"
a@domain.com
b@domain.com
c@domain.com
d@domain.com

以下是手册页对-v

所说的内容
-v, --invert-match
         Invert the sense of matching, to select non-matching lines.  (-v is specified by POSIX.)

答案 1 :(得分:1)

-l / var / www / folder | grep --invert-match“@ somedomain.com”| grep -E -o --color“\ b [a-zA-Z0-9 .-] + @ [a-zA-Z0-9 .-] +。[a-zA-Z0-9 .-] + \ b“>> test.txt的