null로 끝나는 C 문자열에만 일치하는 "string" 변형이 있습니까?

null로 끝나는 C 문자열에만 일치하는 "string" 변형이 있습니까?

어딘가에 이미 구현된 솔루션이 있을 것 같은 상황에 직면했지만 솔루션을 찾는 데 어려움을 겪고 있습니다. 나는 strings(binutils에서)와 거의 동일하게 작동하지만 인쇄 가능한 문자가 null 바이트로 끝나는 경우에만 일치하는 것을 찾고 있습니다 . 추가 질문으로 strings -tx각 일치 항목 옆에 16진수 오프셋(la)을 인쇄해야 합니다 .

나는 하나를 본 적이있다유제.grepgrepstrings -tx​하지만 제가 보기에는 이미 이 작업을 기본적으로 수행할 수 있는 도구가 어딘가에 있어야 할 것 같습니다.

답변1

비슷한 질문을 바탕으로 grep소수점 오프셋을 출력하는 것이 가능합니다. awk를 사용하여 16진수로 변환할 수 있습니다.

grep -Eboz '[[:print:]]{4,}$' inputfile |
awk '{i=index($0,":");printf "%7x %s\n",$0+0,substr($0,i+1)}'

관련 정보