[英]Linux grep command
我可以使用 grep 命令查找文件中包含“abc”的所有行,但排除以“xyz”结尾的行吗?
例如 grep 'abc' fileName(排除所有以“xyz”结尾的行的方法)
尝试这个:
hzhang@dell-work ~ $ cat sample.csv
abc, xyz
abc,1
abc,2
abc,3,xyz
hzhang@dell-work ~ $ grep abc sample.csv |grep -v "xyz$"
abc,1
abc,2
-v 的解释:
-v, --invert-match
Invert the sense of matching, to select non-matching lines. (-v is specified by POSIX.)
如果您可以使用awk
,只需检查模式:
hzhang@dell-work ~ $ awk '/abc/ && !/xyz$/' sample.csv
abc,1
abc,2
awk
fit 非常适合这种情况:
awk '/abc/ && !/xyz$/' input
使用 awk! :)
使用管道连接的两个grep
命令。 第一个匹配abc
,第二个删除以xyz
结尾的那些。
grep abc filename | grep -v 'xyz$'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.