--ignore
無視するファイルを指定するオプションがあります。現時点では、次の操作を実行するまで、複数のファイルを無視できます。--ignore file1 --ignore file2.......
試しても--ignore "*assets*|*scripts*"
効果はありません。それでは、私が知らないことがありますか?
答え1
次のように中括弧拡張を使用できます。
ag pattern --ignore={'*assets*','*scripts*'} path_to_search
または、次のようにGlenはここで提案します、プロセス交換:
ag pattern -p <(printf "*%s*\n" assets scripts) path_to_search
答え2
形式は--除外するパターンを無視します。
➜ proj git:(develop) ✗ ag User -l | wc
82 82 2951
➜ proj git:(develop) ✗ ag User -l --ignore 'tests*' | wc
65 65 2348
証明する
➜ exp tree
.
├── good.py
├── migrations.py
├── test2.py
├── test_another.py
└── tests.py
➜ for i in *.py; do echo "User" > $i; done
➜ exp ag -l --ignore 'test*' --ignore 'migrations*' User
good.py
それではファイルが1つしかありません。OK.py返された、他のすべてのコンテンツはパターンによってフィルタリングされます
答え3
追加できます
*assets*
*scripts*
あなたの.gitignore
または.ignore
ファイルに。
追加情報ファイルから:
It ignores file patterns from your .gitignore and .hgignore.
If there are files in your source repo you don't want to search,
just add their patterns to a .ignore file.
答え4
今回の話題は少し遅れて出ました。
、inag
では--ignore
正規表現はサポートされていません。したがって、 ".json"拡張子を持つすべてのファイルを無視するには、代わりに--ignore='*.json'
使用する必要があります。--ignore='.*.json'
複数のファイル拡張子を無視するには:
ag --ignore='*.yaml' --ignore='*.json'
yaml
上記は拡張子のあるファイルを無視しますjson
。