답변:
함께 GNU의 GREP , 당신이 사용할 수있는 -a 는 텍스트 파일 등의 바이너리 파일을 처리하기 위해 옵션 :
grep -ali -- string file
grep 버전 이을 지원하지 않으면 대신 ack 을 -a
사용할 수 있습니다 . ack 1.x에서는 ack 2.x와 함께 옵션 을 포함해야합니다. ack 2.x에서는 기본적으로 텍스트가 아닌 파일 포함을 검색 할 때 (파일을 지정하지 않은 경우 텍스트가 아닌 파일 만 무시) 때문에 포함하지 않아도됩니다.-a
ack grep /bin/grep
하고 결과를 얻을 수 있습니다. 혼란을 피하기 위해 답변을 업데이트했습니다.
이 명령 strings
은 파일에서 모든 ASCII 데이터를 추출한 다음 grep
출력하면 데이터를 검색 할 수 있습니다.
strings <filename> | grep "search text"
strings -f
더 적합합니다.
ack
자기 설명을 잘못 읽고 있습니까? (매뉴얼에서) "ack 2.x는 명시 적으로 무시되지 않는 모든 바이너리 파일이 아닌 이진 파일을 검색합니다. [blah blah]] 내용이 보이면 ack 2.x가 여전히 파일 읽기를 중지해야하는 것처럼 들립니다. 이진.