![find 또는 grep -r을 사용하지 않고 bash만 사용하여 파일 내용을 grep하는 방법은 무엇입니까? [폐쇄]](https://linux55.com/image/44685/find%20%EB%98%90%EB%8A%94%20grep%20-r%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80%20%EC%95%8A%EA%B3%A0%20bash%EB%A7%8C%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%8C%8C%EC%9D%BC%20%EB%82%B4%EC%9A%A9%EC%9D%84%20grep%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
다음을 입력하면 bash 프로그램을 작성하고 싶습니다.
-bash-4.1$ ./sample.sh path regex keyword
결과는 비슷합니다.
path/sample.txt:12
path/sample.txt:34
path/dir/sample1.txt:56
path/dir/sample2.txt:78
find 또는 grep -r을 사용하지 않고 bash에서 이것을 달성하는 방법을 전혀 모릅니다(그러나 grep/sed/awk를 사용할 수 있습니다)... 도와주세요...
매우 감사합니다! !
답변1
shopt -s globstar
awk '/search-string/ { print FILENAME ":" NR }' **/*
globstar
재귀적 와일드카드를 활성화합니다. NR
현재 줄 번호를 저장합니다.