Linux使用grep过滤多个条件的写法

张锋 5年前 访问:650 评论:0 关注:0

cat log.txt | grep 条件;
cat log.txt | grep 条件一 | grep 条件二;
cat log.txt | grep 条件一 | grep 条件二 | grep 条件三;
grep 条件一 log.txt | grep 条件二 | grep 条件三;

例如需要排除 abc.txt 中的 mmm nnn

grep -v 'mmm\|nnn' abc.txt

但是这样还是很多,需要从这几条信息里面去找到所需要的 ip 地址,我们可能想到了使用 grep -v 屏蔽掉 inet6,结果如下:

1、|bash-3.2# ifconfig | grep inet | grep -v inet6

2、|  inet 127.0.0.1 netmask 0xff000000

3、|  inet 10.60.104.38 netmask 0xfffffe00 broadcast 10.60.105.255
下面看下linux grep常用过滤命令

过滤的内容可以是一个词组等, 需要用引号包裹

  1. 获取文件中的关键字key: cat fileName | grep "key"

  2. 获取文件中的某个关键字key1, key2, key3: cat fileName | grep -E "key1|key2|key3"

  3. 获取文件中的多个关键字,同时满足: cat fileName | grep key1 | grep key2| grep key3

  4. 忽略文件中的某个关键字, 需要转义"|":cat fileName | grep -v "key1\|key2\|key3"

评论

还没有人评论 ~

❤❤❤❤❤❤
心情
此图名叫《暗淡蓝点》
1990年2月14日,由旅行者1号拍摄,
蓝色的点就是地球
或许你看不清,因为地球在宇宙中太小了。