grep查找包含“\ t”的行

时间:2012-03-31 09:02:24

标签: grep

我被要求制作一个shell脚本来检查文件中的简单错误。 如果

,我想找到每一行

(正则表达式:)“[] \ t”曾经发生过。

问题是grep忽略了\并且将“t”作为文字。我也尝试将字符本身写入文件并要求grep读取它但它不起作用。 有没有办法在使用任何常用的linux工具(如grep)的文件中找到正则表达式“\ t”?

我已经尝试过:

grep -E --ignore-case --line-number --with-filename --file="b" file

(b包含:“”) 还有:

grep -E --ignore-case --line-number --with-filename --regexp=" [\t]" file

2 个答案:

答案 0 :(得分:12)

您可以使用C风格的字符串$'...'

grep $'\t' file.txt

sed

sed -n '/\t/p' file.txt

答案 1 :(得分:3)

您可以将perl正则表达式与--perl-regex选项一起使用,例如

 grep --perl-regex "\t"