2009-05-12 3 views
4

私はcygwin経由でコマンドラインからgrepを使用しています。正規表現にマッチする各行の部分をハイライト表示する方法があるのだろうかと思います。私が見ている最も近いものは、-oオプションですが、それは一致する領域だけを出力し、その行全体を見たいと思います。grep(コマンドラインから)は、一致する行の一部を強調表示するように設定できますか?

答えて

11

Take a look--color(または--colour)オプションです。デフォルトでは

grep --color POST access_log 

、これは端末への出力ではなく、ときにパイプ出力他の場所でのみカラーコードを含む「オート」モードを使用しています。色をstdout以外に配色したい場合は、--color = alwaysを使用してください。

色を変更してgrepにする方法については、デフォルトでこのオプションを使用してください。linked articleを参照してください。

+2

私は--color = alwaysを追加しましたが、これは連鎖しているgrepsを壊しているようですが、これはおそらくカラーコントロールの文字が正規表現によって選ばれているからです。私が思いついた修正は、チェーンの最初のgrepを最後に--colorオプションを使って繰り返すことでした。私はファイル名の色づけを失うが、重要な部分であるマッチをまだ色づけしている。 – Herms

8

--colorスイッチを試してください。

+0

ワウ。今私はそれを逃した方法を確認します。 1つの余分な質問。 grepsを連鎖させるときに色を維持する方法はありますか?検索したいgrepが1つあり、2つ目のgrepにパイプして、見たくない一致を除外します。最初のgrepから色を維持する方法はありますか? – Herms

+0

私は可能な方法で私の答えを更新しました。 –

4

ack toolをお試しください。これはデフォルトで強調表示を行います。

実際には、多くの便利なことがデフォルトで行われます。それを好む人もいますし、あなたもそうしたいと思う人もいます。

関連する問題