我被要求制作一个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
答案 0 :(得分:12)
您可以使用C风格的字符串$'...'
grep $'\t' file.txt
或sed
:
sed -n '/\t/p' file.txt
答案 1 :(得分:3)
您可以将perl正则表达式与--perl-regex
选项一起使用,例如
grep --perl-regex "\t"