grep / egrepの "rc"設定ファイルはありますか? (~/.egreprc?)

grep / egrepの "rc"設定ファイルはありますか? (~/.egreprc?)

私は主にgrep開発時にこれを使用しますが、常に除外したい拡張機能があります(例*.pyc:)。

~/.egreprc1つまたは同様のものを作成し、フィルタリングを追加してpycすべての結果からファイルを除外することは可能ですか?

grepこれは可能ですか、それともこのように使用するエイリアスを作成し、代わりにエイリアスを呼び出す必要がありますかgrep

答え1

いいえ、grepにはrcファイルはありません。

GNU grep 2.4 から 2.21 までは環境変数のオプションを適用しましたが、GREP_OPTIONS最新バージョンではこれに従わなくなりました。

対話形式で使用するには、シェル初期化ファイルで別名(.bashrcまたは)を定義します.zshrc。私は次のバリエーションを使用します。

alias regrep='grep -Er --exclude=*~ --exclude=*.pyc --exclude-dir=.bzr --exclude-dir=.git --exclude-dir=.svn'

エイリアスで電話をかけたり、オプションのない電話をかけたい場合は、入力しgrepてください。バックスラッシュはエイリアスをバイパスします。grep\grep

答え2

確認するあなたが望むすべてとそれ以上を行うことができます。

デフォルトではバイナリファイルを無視します。必要な他のファイル形式などを無視するように指示できます--notext--nohtmlまた、rcファイルを定義して独自のタイプにカスタマイズする機能もあります。

答え3

あなたの質問に対する直接的な答えではありません。ただし、grepは* .pycを含むすべてのバイナリファイルを無視することを選択できます。オプションは次のとおりです。-I

grep -rI hello .

答え4

少なくとも2016年以降(によるとsteven pennyでコメント)、grepに推奨される方法は、エイリアスまたはスクリプトを使用することです。

$ export GREP_OPTIONS="--exclude='*~'"
$ grep -r someStringThatDoesNotExist
grep: warning: GREP_OPTIONS is deprecated; please use an alias or script
$

関連情報