`ack`는 단일 파일에 줄 번호를 표시하지 않습니다


16

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.

스위치에 대한 인터넷 검색을 수행했지만 결과가 없습니다. 단일 파일의 결과에 대한 행 번호를 표시하도록 ack하는 방법

답변:


21

파일을 제공하지 않으면 ack현재 디렉토리 및 하위 디렉토리에서 모든 파일을 검색합니다. 파일에 일치하는 패턴이 포함 된 경우 해당 파일 ack이름, 줄 번호 및 패턴과 일치하는 줄을 인쇄하십시오.

이 동작은 하나의 파일에는 적용되지 않습니다 ( ack documentation , search for -Hoption).

언제부터 ack이없는 -n옵션 라인을 grep상대 행 번호와 일치하는 라인을 인쇄 할 것이다, 당신은이 문제를 해결하려면 두 가지 선택이있다.

다음 ack-H같이 파일 이름을 강제로 인쇄 :

ack -H pattern file

또는 /dev/null두 번째 파일로 전달 :

ack pattern file /dev/null

7

옵션으로 시도해 볼 수 있습니다 --with-filename.

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

이 문제는 버그 와 문제가 여기 로 이동 함에 따라 발생 합니다 .


5

이를위한 옵션이 있어야합니다. 그러나 그렇지 않은 경우 명령 줄에 ack추가 항목 /dev/null을 전달하여 검색 할 두 파일이 있다고 생각하도록 속일 수 있습니다 .

ack function themes/README.txt /dev/null

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

grep function themes/README.txt /dev/null
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.