linux 中grep命令如何匹配制表符

 

001、

[root@PC1 test]# ls
a.txt
[root@PC1 test]# cat a.txt      ## 测试数据
aa      bb      kk
aa      qq      kk
11  kk  dd
kk      mm      xx
[root@PC1 test]# cat -A a.txt   ## 可以看到有tab制表符
aa^Ibb^Ikk$
aa^Iqq^Ikk$
11  kk  dd$
kk^Imm^Ixx$
[root@PC1 test]# grep "\t" a.txt
[root@PC1 test]# grep '\t' a.txt
[root@PC1 test]# grep $"\t" a.txt        ## 以上三种方法均无法正常匹配制表符

 

 

002、正确做法

[root@PC1 test]# ls
a.txt
[root@PC1 test]# cat a.txt       ## 测试数据
aa      bb      kk
aa      qq      kk
11  kk  dd
kk      mm      xx
[root@PC1 test]# sed -n l a.txt
aa\tbb\tkk$
aa\tqq\tkk$
11  kk  dd$
kk\tmm\txx$
[root@PC1 test]# grep $'\t' a.txt    ## 正确的做法是需要$符号,然后结合单引号来实现
aa      bb      kk
aa      qq      kk
kk      mm      xx
[root@PC1 test]# grep $'aa\t' a.txt
aa      bb      kk
aa      qq      kk
[root@PC1 test]# grep $'aa\tbb' a.txt
aa      bb      kk

 

posted @ 2023-02-22 22:40  小鲨鱼2018  阅读(489)  评论(0编辑  收藏  举报