grep --color
[なしの基本色の動作は何ですか?=いつ] 指定されていますか?
grepマニュアルページ状態:
--color
[=いつ]、--colour
[=いつ]一致する(空でない)文字列、一致行、コンテキスト行、ファイル名、行番号、バイトオフセット、および区切り文字(フィールドおよびコンテキストライングループの場合)をエスケープシーケンスで囲み、端末に色でマークとして印刷します。 ... いつはい
never
、always
またはauto
。
デフォルトかどうか[=いつ]grep --color
になる:
grep --color=auto
または
grep --color=always
それとも実装とプラットフォームによって異なりますか?
GNU grep 2.16を使用してUbuntu 14.04でテストした結果:
echo "foo bar" | \grep --color foo
明らかにするfoo
bar
、しかし
echo "foo bar" | \grep --color foo | \grep --color bar
明らかにするfoo
bar
、ここではこれがうまくいくようですgrep --color=auto
。しかし、この動作が一般的なものかどうかは、WindowsやMacでテストされていません。
このデフォルト設定は[=いつls --color
]はマニュアルページの状態とは若干異なりますls
。
--color
[=いつ]出力を色分けします。 いつデフォルトは
always
またはできますnever
またはauto
。
ここで行方不明者の行動は次のとおりです。いつ明らかです。
答え1
デフォルト値はauto
。
grep --color
書くことも同じだ--color=auto
。
これはよく文書化されていないようであるか、単にもはや--color
使用されていないと思いますが、これはテストとソースコード:
case COLOR_OPTION:
if (optarg)
{
if (!strcasecmp (optarg, "always") || !strcasecmp (optarg, "yes")
|| !strcasecmp (optarg, "force"))
color_option = 1;
else if (!strcasecmp (optarg, "never") || !strcasecmp (optarg, "no")
|| !strcasecmp (optarg, "none"))
color_option = 0;
else if (!strcasecmp (optarg, "auto") || !strcasecmp (optarg, "tty")
|| !strcasecmp (optarg, "if-tty"))
color_option = 2;
else
show_help = 1;
}
else
color_option = 2;
break;
anがなければ、oroptarg
とauto
同じ結果が得られますtty
。