是否可以从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
答案 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的