【发布时间】:2011-06-24 13:34:41
【问题描述】:
是否可以从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
【问题讨论】:
是否可以从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
【问题讨论】:
这个怎么样
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.)
【讨论】:
-l /var/www/文件夹 | 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
【讨论】: