"ag"를 사용하여 여러 파일을 무시하는 방법 Silver Searcher

"ag"를 사용하여 여러 파일을 무시하는 방법 Silver Searcher

--ignore무시할 파일을 지정할 수 있는 옵션이 있습니다 . 현재는 다음을 수행해야만 여러 파일을 무시할 수 있습니다.--ignore file1 --ignore file2.......

사용해봐도 --ignore "*assets*|*scripts*"아무런 효과가 없습니다. 그럼 내가 모르는 게 있는 걸까?

답변1

다음과 같이 중괄호 확장을 사용할 수 있습니다.

ag pattern --ignore={'*assets*','*scripts*'}  path_to_search

또는 다음과 같이글렌이 여기서 제안해요, 프로세스 교체:

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

그럼 파일이 하나밖에 없군요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

이번 주제는 좀 늦게 나왔습니다.

, in ag에서는 --ignore정규 표현식이 지원되지 않습니다. 따라서 ".json" 확장자를 가진 모든 파일을 무시하려면 --ignore='*.json'대신 사용해야 합니다.--ignore='.*.json'

여러 파일 확장자를 무시하려면 다음을 수행하세요. ag --ignore='*.yaml' --ignore='*.json'

yaml위의 내용은 확장자 가 있는 파일을 무시합니다 json.

관련 정보