我的 bash 版本:
GNU bash, version 3.2.49(22)-release (i686-pc-cygwin)
Copyright (C) 2007 Free Software Foundation, Inc.
在我的 .bashrc 中,我有:
export GREP_OPTIONS='--color=always'
要重现该问题,请创建一个文件 test.txt 并写入一些行:
test1: apple
test2: orange
test3: cherry
然后在 bash 中执行 grep:
grep "test" test.txt > 1
当我检查结果时,我得到如下信息:
~ > cat -v 1
^[[01;31m^[[Ktest^[[m^[[K1: apple
^[[01;31m^[[Ktest^[[m^[[K2: orange
^[[01;31m^[[Ktest^[[m^[[K3: cherry
对这个问题有什么想法吗? 顺便说一句,我设置了 fileformats=unix。
最佳答案
您看到的字符对应于更改终端中文本颜色的代码。通常您希望 grep
仅在其输出进入交互式终端时才生成颜色。为此,更改
export GREP_OPTIONS='--color=always'
到
export GREP_OPTIONS='--color=auto'
关于GREP_OPTIONS ='--color=always' 导致非打印字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17640896/