私は主にgrep
開発時にこれを使用しますが、常に除外したい拡張機能があります(例*.pyc
:)。
~/.egreprc
1つまたは同様のものを作成し、フィルタリングを追加して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
$