나는 리눅스를 사용하지 않고 대신 윈도우를 사용하는 지 꽤 시간이 지났습니다. Windows에서 하위 폴더 내의 파일 및 파일에 대한 문자열을 검색하려고 할 때마다(예: cs 파일)
findstr /s /i /n "Thepattern" *.cs
최근 Git을 사용할 때 설치되는 MINGW64에서 grep을 사용할 수 있다는 것을 알게 되었습니다. 그래서 나는 노력했다
grep --color -n -r "Thepattern" *.cs
-r
하지만 검색을 넣어도 하위 디렉터리는 포함되지 않습니다.
내가 grep에 뭘 잘못하고 있는 걸까? 그리고 그것은 어떻게되어야합니까?
편집: Anaksunaman이 나에게 정답을 제공했습니다.
grep --color -n -r --include=*.cs "Thepattern"
그리고 몇 가지 다른 옵션 :) 감사합니다!
답변1
Git을 사용할 때 설치되는 MINGW64에서도 grep을 사용할 수 있다는 것을 알게 되었습니다.
나는 당신이 Git Bash를 언급하고 있다고 가정합니다.
내가 grep에 뭘 잘못하고 있는 걸까? 그러면 어떻게 되어야 할까요?
다음을 시도해 보세요.
grep --color -n -r --include=*.cs "ThePattern"
--include=
뒤에 와야합니다 -r
. 이렇게 하면 ".cs"로 끝나는 파일로 결과가 제한됩니다. 원하는 경우 디렉토리를 지정할 수도 있습니다. 예:
grep --color -n -r --include=*.cs "ThePattern" ~/some/directory/'with spaces'
이 경우 ~
Windows의 사용자 프로필 폴더를 나타냅니다.
-i
또한 "ThePattern"이 문자열 리터럴이라고 가정하면 대소문자를 구분하지 않도록 포함해야 할 수도 있습니다 . 예:
grep --color -n -i -r --include=*.cs "ThePattern"
그렇지 않으면 "ThePattern"은 "Thepattern"과 동일하지 않으며 결과를 얻지 못할 수도 있습니다.
grep --help
추가 옵션에 대한 정보를 얻으려면 언제든지 를 사용할 수 있습니다 .