文件1:grep的精确匹配线
Btr_0449a 447
Btr_0449 447
所需的输出:
Btr_0449 447
我想grep来查找 'Btr_0449',而不是 'Btr_0449a'。看来我做错了什么,因为:
grep -F "Btr_0449"
Btr_0449a 447
Btr_0449 447
文件1:grep的精确匹配线
Btr_0449a 447
Btr_0449 447
所需的输出:
Btr_0449 447
我想grep来查找 'Btr_0449',而不是 'Btr_0449a'。看来我做错了什么,因为:
grep -F "Btr_0449"
Btr_0449a 447
Btr_0449 447
这应做到:
grep -Fw "Btr_0449"
从grep
手册页:
“-W只选择那些含有形成全字匹配线。“
如果你坚持使用'-F'标志,那么在你的字符串后面会添加一个空格。
grep -F "Btr_0449 "
对于未来,你将得到更好的结果,如果你使用正则表达式的模式,因此,对于上面的查询,你可以这样做:
grep -e "Btr_0449\s"
...这将匹配你的字符串后跟任何空白字符(空格,制表符,换行符,回车...)
'grep'^ Btr_0449 \ W''将在这里工作。 –
[如何精确匹配grep]可能的重复(http://stackoverflow.com/questions/4709912/how-to-grep-the-exact-match) – fedorqui