[root@bogon /home/Sudley]#cat 1.list
11
22
33
44
[root@bogon /home/Sudley]#cat 2.list
33
333
44
55
66
[root@bogon /home/Sudley]#grep -wf 1.list 2.list #输出两个文件相同行
33
44
[root@bogon /home/Sudley]#grep -f 1.list 2.list #输出2.list中包含1.list中行的行
33
333
44
[root@bogon /home/Sudley]#grep -vwf 1.list 2.list #在2.list中删除与1.list相同的行并输出
333
55
66
[root@bogon /home/Sudley]#grep -wf 1.list 2.list > 3.list
[root@bogon /home/Sudley]#grep -vwf 3.list 1.list 2.list #输出1.list和2.list不同的行
1.list:11
1.list:22
2.list:333
2.list:55
2.list:66
[root@bogon /home/Sudley]#grep -vwf < (grep -wf 1.list 2.list) 1.list 2.list
-bash: syntax error near unexpected token `('
[root@bogon /home/Sudley]#grep -vwf <(grep -wf 1.list 2.list) 1.list 2.list #使用重定向方式,注意(和<之间没有空格
1.list:11
1.list:22
2.list:333
2.list:55
2.list:66
[root@bogon /home/Sudley]#grep -vwf 3.list 1.list 2.list|awk -F : '{print $2}'
11
22
333
55
66
[root@bogon /home/Sudley]#
参数 | 功能描述 |
---|
-f | 指定规则文件(如上述的1.list和3.list),其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。 |
-w | 匹配整词,精确地单词,单词的两边必须是非字符符号(即不能是字母数字或下划线) |
-v | 反转匹配,选择没有被匹配到的内容。 |
grep详解