繁体   English   中英

Linux grep 命令

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM