답변:
사용 -n을 위해 no-recurse:
$ ack -n foo
grep기본적으로 재귀 적이 지 않으므로 -r재귀 검색을 원할 경우에만 플래그를 사용해야합니다 .
grep다음과 같이 현재 디렉토리를 검색 할 수 있습니다 .
$ grep -- foo *
-exec 인수를 사용하여 찾을 수 있습니다. 예:
find . -maxdepth 1 -exec grep foo {} \;
이것은 확장 될 수 있습니다. 즉 -maxdepth 2
-maxdepth 1)은 확장 가능했습니다. 예를 들면 -maxdepth 2. 편집 한 내용을 설명하는 방법을 모르겠습니다.
-maxdepth)이 이식 가능 / 표준 구문이 아님 을 분명히 밝히고 싶을 수도 있습니다 (GNU 및 일부 BSD 만 해당). 또한 \;여기를 사용하는 것이 중요하지 않습니다 ( grep파일 당 하나씩 실행 ). 파일 이름이 항상 인쇄되도록 하려면 grep -H foo {} +(GNU 특정) 또는 grep foo /dev/null {} +(표준)을 사용하십시오. 표준 상응하는 -maxdepth 2것find . -path './*/*' -type d -prune -o -type f -exec ...
.당신이 포기하지 않는 한 -mindepth 1GNU는 동안) grep와 디렉토리를 읽으려고하지 않을 것이다 -r(이것은 재귀 그들에). 당신은 추가 할 수 있습니다 -d skip에 grep(GNU의 GREP 가정) 이상 추가 ! -type d로 find더 나은 또는 -type f(또는 -xtype fGNU 가정 find당신은 아마하지 않는 한)grep 비정규직 파일을 읽을 수 있습니다.
grep -Hin파일 이름과 해당 행이 표시되는 행을 볼 수 있도록이 방법 을 사용하는 경향이 있습니다 .
-n재귀 하지 않는 max-depth 옵션 이 없습니다.