如何在Unix平台上的文件中grep标签(\t) ?


当前回答

如果使用GNU grep,你可以使用perl风格的regexp:

grep -P '\t' *

其他回答

你可能想使用grep "$(echo -e '\t')"

唯一的要求是echo能够解释反斜杠转义。

如果使用GNU grep,你可以使用perl风格的regexp:

grep -P '\t' *

一个好的选择是使用sed。

sed -n '/\t/p' file

示例(工作在bash, sh, ksh, csh,..):

[~]$ cat testfile
12 3
1 4 abc
xa      c
        a       c\2
1 23

[~]$ sed -n '/\t/p' testfile 
xa      c
        a       c\2
[~]$ sed -n '/\ta\t/p' testfile
        a       c\2

(以下答案已根据评论中的建议进行了编辑。谢谢大家)

grep "$(printf '\t')"在Mac OS X上为我工作

一种方法是(这是Bash)

grep -P '\t'

-P将打开Perl正则表达式,因此\t将工作。

正如用户unwind所说,它可能是特定于GNU grep的。另一种方法是在shell、编辑器或终端允许的情况下插入一个制表符。