`ack`은 개별 파일의 줄 번호를 표시하지 않습니다.

`ack`은 개별 파일의 줄 번호를 표시하지 않습니다.

문자열을 검색하기 위해 ack를 사용하고 있습니다. 파일 인수 없이 실행하면 줄 번호가 표시됩니다.

$> ack function
themes/README.txt
7:Drupal's sub-theme functionality to ensure easy maintenance and upgrades.

sites/default/default.services.yml
48:    # - The dump() function can be used in Twig templates to output information

...

하지만 파일을 지정하려고 하면 줄 번호를 알 수 없습니다.

$> ack function themes/README.txt
Drupal's sub-theme functionality to ensure easy maintenance and upgrades.

일부 스위치를 검색했지만 결과를 찾지 못했습니다. 단일 파일 결과의 줄 번호 표시 확인을 어떻게 받을 수 있나요?

답변1

파일을 제공하지 않으면 ack현재 디렉터리와 하위 디렉터리의 모든 파일이 검색됩니다. 파일에 일치하는 패턴이 포함되어 있으면 ack파일 이름, 줄 번호 및 패턴과 일치하는 줄을 인쇄합니다.

이 동작은 파일에는 적용되지 않습니다(참조:문서 확인, 검색 -H옵션).

옵션 line 이 ack없는 경우 상대 행 번호와 일치하는 행을 인쇄하므로 이 문제를 해결할 수 있는 두 가지 옵션이 있습니다.-ngrep

ack파일 이름 강제 인쇄 -H:

ack -H pattern file

또는 /dev/null두 번째 파일로 전달됩니다.

ack pattern file /dev/null

답변2

옵션을 사용해 볼 수 있습니다 --with-filename.

ack --with-filename 'function' themes/README.txt

이 질문은 다음과 같이 제기되었습니다.허점질문이 옮겨졌습니다여기.

답변3

옵션이 있어야합니다. 하지만 그렇지 않은 경우 명령줄에 ack추가 콘텐츠를 전달하여 검색할 파일이 두 개 있다고 생각하도록 속일 수 있습니다./dev/null

ack function themes/README.txt /dev/null

참고로, grep(1)단일 파일을 검색하는 경우에도 동일한 방법을 사용하여 파일 이름을 표시할 수 있습니다.

grep function themes/README.txt /dev/null

관련 정보