Linux中的精确grep -f命令

Joh*_*ohn 6 unix linux shell grep

我在Linux中有2个txt文件.

A.txt内容(每行包含一个数字):

1
2
3
Run Code Online (Sandbox Code Playgroud)

B.txt内容(每行包含一个数字):

1
2
3
10
20
30
Run Code Online (Sandbox Code Playgroud)

grep -f A.txt B.txt 结果如下:

1
2
3
10
20
30
Run Code Online (Sandbox Code Playgroud)

有没有办法以这种方式grep我只得到完全匹配,即不是10,20,30?

提前致谢

anu*_*ava 12

对于精确匹配使用-x开关

grep -x -f A.txt B.txt 
Run Code Online (Sandbox Code Playgroud)

编辑:如果你不想要grep的正则表达式功能并且需要将搜索模式视为固定字符串,那么使用-Fswitch作为:

grep -xF -f A.txt B.txt
Run Code Online (Sandbox Code Playgroud)

  • 并添加-F以禁用输入中的元字符。例如,`3.14`也将匹配`3124`,而没有`-F`或`fgrep`选项。 (2认同)