Linux中grep命令实现带有通配符.关键字符的精准匹配

 

Linux中grep命令实现带有通配符.关键字符的精准匹配

 

001、

[b20223040323@admin2 test]$ ls
a.txt
[b20223040323@admin2 test]$ cat a.txt                   ## 测试文件
new_seq KRA6    Karakaya
new_seq ssKR.6j Karagul
65_wild KR.6    Asiatic_mouflon_unknown
[b20223040323@admin2 test]$ var=KR.6                    ## 定义一个变量          
[b20223040323@admin2 test]$ grep $var a.txt             ## 对变量直接搜索,.被认为是任意字符
new_seq KRA6    Karakaya
new_seq ssKR.6j Karagul
65_wild KR.6    Asiatic_mouflon_unknown
[b20223040323@admin2 test]$ grep -F $var a.txt          ## 使用-F参数,表示按照原始字符串搜索,但是却无法使用空格和制表符界定边界了
new_seq ssKR.6j Karagul
65_wild KR.6    Asiatic_mouflon_unknown
[b20223040323@admin2 test]$ grep -F $var a.txt | grep "[[:space:]]$var[[:space:]]"     ## 在搜索原始字符串的基础上,利用管道再次界定边
65_wild KR.6    Asiatic_mouflon_unknown

 。

 

补充:

[b20223040323@admin2 test]$ grep -F "[[:space:]]$var[[:space:]]" a.txt            ## 这种写法什么也匹配不到
[b20223040323@admin2 test]$

 。

 

posted @ 2025-02-17 19:05  小鲨鱼2018  阅读(33)  评论(0)    收藏  举报