長い話を短く

長い話を短く

最近grepでこのメッセージを見つけました。

"grep: warning: GREP_OPTIONS is deprecated; please use an alias or script"

私の.bashrcファイルに--color = alwaysが定義されているので、この警告が表示されます。 AFAIKエイリアシングはパイプで動作したいので、実用的ではありません。例えば、

echo "a b c" |grep b

bを強調表示する必要があります。エイリアスは機能しないため、提供される別のオプションはスクリプトを作成することです。しかし、スクリプトがパイプの入力を受け入れるようにするにはどうすればよいですか?この場合、スクリプトに--color = alwaysを追加したいと思います。

編集:エイリアスはスクリプトと同じように機能します。エイリアス方法に私が何を間違っているのかわかりません。ただし、スクリプトを作成するときは、$ 1を入力パラメータとして含める必要があります。

自分のスクリプトにパイプする方法を疑問に思う人のために、この例では次のようにして私に役立ちました。

まず、スクリプトを実行可能にするパスのどこかに配置します。

# ~/.bin/testgrep
grep --color=always $1

次に、スクリプトを次のように実行可能にします。

chmod +x ~/.bin/testgrep

今動作します!

ベストアンサー1

エイリアスが機能します。私のgrepエイリアスは次のとおりですgrep --color=auto

% which grep
grep: aliased to grep --color=auto

grep のパイプには望ましい動作があります。

ここに画像の説明を入力してください。

おすすめ記事