簡體   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