Linux grep命令

标签 linux grep

我可以使用 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

关于Linux grep命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29710366/

相关文章:

linux - 我在哪里可以找到帧缓冲区的所有 ioctl 及其功能?

linux - 如何在shell脚本中读取文件

linux - 如何从 gz 文件中提取特定文本?

正则表达式:尝试匹配两个字符串*之间没有*某个字符

c - 在 C 中运行外部命令(如 awk、sed、grep 等)是否安全?

linux - rm 没有释放磁盘空间

c - 编译共享对象时包括版本号

python - 为什么 platform.linux_distribution() 在一个操作系统上返回不同的结果?

sed/awk/cut/grep - 提取字符串的最佳方法

regex - Grep 具有特定下划线模式的文件名