Ke *_* Li 2 grep non-printing-characters
我的bash版本:
GNU bash, version 3.2.49(22)-release (i686-pc-cygwin)
Copyright (C) 2007 Free Software Foundation, Inc.
Run Code Online (Sandbox Code Playgroud)
在我的.bashrc中,我有:
export GREP_OPTIONS='--color=always'
Run Code Online (Sandbox Code Playgroud)
要重现该问题,请创建一个文件test.txt并写下一些行:
test1: apple
test2: orange
test3: cherry
Run Code Online (Sandbox Code Playgroud)
在bash中,做一个grep:
grep "test" test.txt > 1
Run Code Online (Sandbox Code Playgroud)
当我检查结果时,我会得到这样的结果:
~ > cat -v 1
^[[01;31m^[[Ktest^[[m^[[K1: apple
^[[01;31m^[[Ktest^[[m^[[K2: orange
^[[01;31m^[[Ktest^[[m^[[K3: cherry
Run Code Online (Sandbox Code Playgroud)
对这个问题有什么想法吗?顺便说一下,我设置了fileformats = unix.
您看到的字符对应于更改终端中文本颜色的代码.通常,grep只有在输出到交互式终端时才会产生颜色.要做到这一点,请改变
export GREP_OPTIONS='--color=always'
Run Code Online (Sandbox Code Playgroud)
至
export GREP_OPTIONS='--color=auto'
Run Code Online (Sandbox Code Playgroud)