답변:
사용 -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 1
GNU는 동안) grep
와 디렉토리를 읽으려고하지 않을 것이다 -r
(이것은 재귀 그들에). 당신은 추가 할 수 있습니다 -d skip
에 grep
(GNU의 GREP 가정) 이상 추가 ! -type d
로 find
더 나은 또는 -type f
(또는 -xtype f
GNU 가정 find
당신은 아마하지 않는 한)grep
비정규직 파일을 읽을 수 있습니다.
grep -Hin
파일 이름과 해당 행이 표시되는 행을 볼 수 있도록이 방법 을 사용하는 경향이 있습니다 .
-n
재귀 하지 않는 max-depth 옵션 이 없습니다.