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