grep --color
如果未指定[ =WHEN ] ,则默认颜色行为是什么?
grep手册页指出:
--color
[=什么时候],--colour
[=什么时候]用转义序列包围匹配的(非空)字符串、匹配行、上下文行、文件名、行号、字节偏移量和分隔符(用于字段和上下文行组),以在终端上以颜色显示它们。... WHEN是
never
,always
或auto
。
默认 [ =WHEN ] 是否grep --color
变为:
grep --color=auto
Run Code Online (Sandbox Code Playgroud)
或者
grep --color=always
Run Code Online (Sandbox Code Playgroud)
还是取决于实现和平台?
在我使用 GNU grep 2.16 对 Ubuntu 14.04 进行的测试中:
echo "foo bar" | \grep --color foo
Run Code Online (Sandbox Code Playgroud)
结果,而foo
bar
echo "foo bar" | \grep --color foo | \grep --color bar
Run Code Online (Sandbox Code Playgroud)
结果是foo
bar
,所以它似乎grep --color=auto
在这里生效。但是,我没有在 Windows 或 Mac 上测试过;我不知道这种行为是否普遍。 …