
Regex는 grepWin의 "검색 대상" 및 "파일 이름 일치" 필드에서 허용됩니다. 또한 정규식을 사용하여 "검색 대상" 필드에 경로 목록을 지정하고 싶습니다. 이것이 지원됩니까? 그렇다면 올바른 구문은 무엇입니까?
현재 내 "검색 위치" 필드에는 Path1의 다양한 하위 폴더에 있는 "source"라는 모든 폴더에 있는 모든 파일을 검색하지 않고 Path2의 하위 폴더에 있는 "TestData"라는 폴더에 있는 모든 파일을 가져올 수 있도록 Path1\|Path2\|Path3\
더 비슷한 Path1\.*\source\|Path2\.*\TestData\
것을 갖고 싶은 내용이 포함되어 있습니다. Path1과 Path2의 폴더입니다.
순진한 접근 방식은 "소스" Path1\package1\source\|Path1\package2\source
등을 포함하는 가능한 모든 경로를 명시적으로 지정하여 Path1의 다운스트림에 해당 "소스" 디렉터리를 모두 가져오고 그 외에는 아무것도 없고 목록이 계속해서 늘어나도록 하는 것입니다. 또한 Path1 전체를 검색하는 기능은 확실히 작동하지만 처리되는 파일의 양을 줄이면 속도가 훨씬 빨라질 수 있습니다.
나는 이 분야에서 정규 표현식이 지원된다면 구문이 무엇인지 추론하기 위해 다양한 시도를 해봤지만 아직 작동한다는 증거를 본 적이 없습니다. '|'의 사용 기본 구분 기호는 구문 분석이 진행 중임을 시사하지만 정규식은 지원되지 않거나 비표준 방식으로 지원되므로 '|' 처럼 행동할 수 있습니다.
답변1
그만큼 grepWin 명령줄 어떤 방식으로든 하나 이상의 경로 매개변수를 지원하지 않습니다(정규식도 지원하지 않음).
문제를 해결하는 방법은 .bat
모든 검색 폴더를 하나의 파일에 누적한 다음 각 폴더에서 grepWin을 실행하는 배치( )를 작성하는 것입니다.
다른 도구를 사용하면 더 나은 솔루션이 있을 수 있지만 이는 별도의 질문입니다.