開発時には通常grepを使用しますが、探したくない拡張機能がいくつかあります(* .pycなど)。
〜/ .egreprcまたはそのようなものを作成し、結果に常にpycファイルを表示しないようにフィルターをかけることは可能ですか?
これは可能ですか、またはこの方法でgrepを使用するためのエイリアスを作成し、grepの代わりにエイリアスを呼び出す必要がありますか?
開発時には通常grepを使用しますが、探したくない拡張機能がいくつかあります(* .pycなど)。
〜/ .egreprcまたはそのようなものを作成し、結果に常にpycファイルを表示しないようにフィルターをかけることは可能ですか?
これは可能ですか、またはこの方法でgrepを使用するためのエイリアスを作成し、grepの代わりにエイリアスを呼び出す必要がありますか?
回答:
grep用のrcファイルはありませんが、GREP_OPTIONS
すべてのgrepコマンドに適用されるオプションの空白区切りリストに環境変数を設定できます。これには、GNU grep(非組み込みLinux、Cygwin、およびその他のシステムでの実装)2.4が必要です。この--exclude
オプションはGNU grep 2.5で新しく追加されました。このようなものをあなたのに入れてください~/.profile
:
export GREP_OPTIONS='--color=auto --exclude=*.pyc --exclude-dir=.git'
これを行ったが、これらのデフォルトオプションなしでgrepを1回実行する場合は、それらをオーバーライドする(たとえばgrep --color=never
、色を強制的にオフにする)かGREP_OPTIONS
、実行して変数を空にすることができますGREP_OPTIONS= grep …
。
別の可能性は、grepのエイリアスを定義することです。次のバリアントを使用します。
alias regrep='grep -Er --exclude=*~ --exclude=*.pyc --exclude-dir=.bzr --exclude-dir=.git --exclude-dir=.svn'
GREP_OPTIONS
影響するのgrep
に対して、エイリアスは影響しないことです。だから、GREP_OPTIONS
慎重に使用する必要があります。最も一般的な用途はforです--color=auto
。これは、出力が端末である場合にのみ有効になるため、原則としてスクリプトでは無害です。
ackは、あなたが望むことなどを実行できます。
これは、デフォルトでは、バイナリファイルを無視し、あなたが望むよう、あなたは他のファイルタイプを無視するように伝えることができ--notext
、--nohtml
それはあなたがあなた自身のタイプでそれをカスタマイズすることができますので、あまりにもrcファイルを定義する能力を持っているなど、。
GNU grep
/ egrep
にはありません。
とにかく、特別な名前のエイリアスまたはスクリプトがこれを行うことを望むでしょう。なぜなら、いつかあなたがあなたの特別な設定と一致し忘れたものを見ようとするとき、あなたは非常に混乱するかもしれないからです。
GREP_OPTIONS
中に~/.profile
近くなります。
--color=auto
!