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


当前回答

+1方式,工作在ksh,破折号等:使用printf插入制表符:

grep "$(printf 'BEGIN\tEND')" testfile.txt

其他回答

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

grep -P '\t' *

多次查找空格[[:space:]]*

grep[:太空 :]]*'.''.'

会发现这样的东西:

“账单”..

这些是单引号('),而不是双引号(")。这就是在grep中进行连接的方法。= -)

答案更简单。编写grep并在引号中输入tab键,它至少在ksh中工作得很好

grep "  " *

These alternative binary identification methods are totally functional. And, I really like the one's using awk, as I couldn't quite remember the syntaxic use with single binary chars. However, it should also be possible to assign a shell variable a value in a POSIX portable fashion (i.e. TAB=echo "@" | tr "\100" "\011"), and then employ it from there everywhere, in a POSIX portable fashion; as well (i.e grep "$TAB" filename). While this solution works well with TAB, it will also work well other binary chars, when another desired binary value is used in the assignment (instead of the value for the TAB character to 'tr').

+1方式,工作在ksh,破折号等:使用printf插入制表符:

grep "$(printf 'BEGIN\tEND')" testfile.txt