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