我被要求制作一个shell脚本来检查文件中的简单错误.我想找到,对于每一行如果
(正则表达式:)"[]\t"永远发生.
问题是grep忽略了\并且将"t"作为文字.我也尝试将字符本身写入文件并要求grep读取它但它不起作用.有没有办法在使用任何常用的linux工具(如grep)的文件中找到正则表达式"\ t"?
我已经尝试过:
grep -E --ignore-case --line-number --with-filename --file="b" file
Run Code Online (Sandbox Code Playgroud)
(b包含:"")并且还:
grep -E --ignore-case --line-number --with-filename --regexp=" [\t]" file
Run Code Online (Sandbox Code Playgroud)
kev*_*kev 12
您可以使用C风格的字符串 $'...'
grep $'\t' file.txt
Run Code Online (Sandbox Code Playgroud)
或者sed:
sed -n '/\t/p' file.txt
Run Code Online (Sandbox Code Playgroud)
您可以将 perl regex 与--perl-regex类似的选项一起使用
grep --perl-regex "\t"
Run Code Online (Sandbox Code Playgroud)