다음 내용의 파일이 있습니다(UTF-8 형식의 텍스트 파일).
e04ba1af81d887979ddcee1dc23f2531
43f85926fdb6a668386ee354f8b836a1
b53614f5139c052ec08ea1ecd2532daf
e9b3914d7b1e1bf8e6feab621330245b
bbcad02116316176385fbfb294ee77b4
46390
파일에 숫자 (십진수) 가 포함되어 있는지 확인해야 합니다 . b536
16진수로 세 번째 줄의 시작 부분과 같습니다 .
파일과 패턴을 바이너리 표현으로 변환한 다음 검색하려면 어떻게 사용하거나 만들 수 있나요 grep
? awk
즉, 베이스가 알려져 있는 경우 검색 베이스를 독립적으로 만듭니다.
예제 출력:
1)
$ cat file.txt | grep 46390
10110101001101101010011110101000100111001110000000101001011101100000010001110101000011110110011010010010100110010110110101111b53614f5139c052ec08ea1ecd2532daf(16진수)
2) 파일에는 문자열 3CA547A
(바이너리 0011110010100101010001111010
)이 포함되어 있습니다. 특정 시퀀스의 십진수 표현을 얻고 있습니다. 파일에 이 시퀀스가 포함될 수 있으며 8비트로 정렬되지 않을 수 있습니다. 시퀀스가 10진수 15(이진수 1111
) 와 같다고 가정합니다.
주문하다:
$ cat file.text | grep 15
결과에는 2번의 발생이 포함됩니다.
0011110010100101010001111010
답변1
printf
간단히 사용하는 것은 어떻습니까?
printf '^%x\n' 46390 | grep -f- file
(둘 다 바이너리로 변환하는 것이 도움이 된다고 생각하지 않습니다)