当子进程中的 运行 (OS X) 时,彩色 grep 会导致问题
Colored grep causing trouble when run in subprocess (OS X)
我在 Mac 中使用 grep 做一些简单的事情时遇到了麻烦。我想重命名一个文件,为此我使用 grep 和 sed。
- 如果我不使用
grep
,它工作正常。
- 如果我使用
grep
,它不起作用:mv 显示一个奇怪的错误。
据我了解,原因可能是我正在使用 colored grep,然后 mv
使用 不是文件名,而是在控制台中显示彩色文件名的代码(因为elm
内容是彩色的yum.txt
,而不是正常的)。
是这个原因吗?我能做什么?
你说得对,那些奇怪的字符确实是颜色代码。您可以在 GREP_OPTIONS
环境变量 (printenv
) and/or 您的用户定义的别名中搜索 --color=
选项。
那就把--color=always
改成--color=auto
;设置 --color=auto
选项后,grep
应仅在标准输出连接到终端时显示颜色代码,否则显示纯文本。
我在 Mac 中使用 grep 做一些简单的事情时遇到了麻烦。我想重命名一个文件,为此我使用 grep 和 sed。
- 如果我不使用
grep
,它工作正常。
- 如果我使用
grep
,它不起作用:mv 显示一个奇怪的错误。
据我了解,原因可能是我正在使用 colored grep,然后 mv
使用 不是文件名,而是在控制台中显示彩色文件名的代码(因为elm
内容是彩色的yum.txt
,而不是正常的)。
是这个原因吗?我能做什么?
你说得对,那些奇怪的字符确实是颜色代码。您可以在 GREP_OPTIONS
环境变量 (printenv
) and/or 您的用户定义的别名中搜索 --color=
选项。
那就把--color=always
改成--color=auto
;设置 --color=auto
选项后,grep
应仅在标准输出连接到终端时显示颜色代码,否则显示纯文本。