, 나는 기본적으로 재귀 그렙 문입니다 bashrc에 기능 RG 썼다 :Cygwin에서에서
rg() {
find . -type f -exec grep -il $1 {} \;
}
이 잘 작동,하지만 지금은에 추가 그렙를 실행해야 각 출력 라인은 다른 단어를 검사합니다. 기본적으로 두 단어가 포함 된 각 파일을 나열해야합니다 (반드시 같은 줄에있는 것은 아닙니다). 이 명령을 시도 :
rg Word1 -exec grep -il Word2 {} \;
이것은 "Word1"을 포함하는 동일한 파일을 출력하는 것으로 보입니다.
이 다음 명령을 시도했는데 각 행에 "Ha"가 출력되었다고 생각했지만 여전히 "rg Word1"문에서 파일을 나열합니다.
rg Word1 -exec echo "Ha" \;
그래서 나는 분명히 뭔가 잘못하고 있습니다. 누구나 내 혼란을 없앨 수 있습니까? 나는 grep 내에서 이것을 할 수있는 방법이 있음을 알고 있지만, 그것은 per-line basis로 작동하는 것으로 보인다. 나는 내가하려고하는 것이 꽤 흔하다 고 생각하고있다. 또한 일단이 작업을 얻으면 편의를 위해 다른 bashrc 함수에 넣고 싶습니다. 그것이 더 복잡한 지 아닌지 확실하지 않습니다.
'-exec grep -il Word2 {} \;'인수를'rg'에 넘겨 줘야하지만 함수에서 아무 것도 사용하지 않으므로 아무 효과가 없습니다. –
그래서 기본적으로 여러분은 단지 명령'find를 실행합니다. '$ 1'이 (가) 당신의 예제에서 모두'Word1'입니다. – 123
"-exec grep"을 rg의 인수가 아닌 방법으로 만들 수 있습니까? 이런 식으로 exec를 사용할 수 있습니까? – Zip184