В двоичном файле есть строки и несколько чисел. Если я делаю
od -c filename
или strings filename
, я могу видеть строки правильно. Но как насчет чисел? Они в каком-то странном формате.
Текст после выполнения od -c filename
выглядит так:
0000000 036 \ 0 032 004 SD \ 0 \ 0 \ 0 \ 0 сек 1 0000020 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ t \ 0 - 002 3 001 0000040 & \ 0 032 \ f O 2 006 \ 0 \ 0 \ 0 osfus 1 0000060 - 002 3 001 r \ r \ 0 \ 0 \ t \ 0 \ 0 @ 3 × 0000100 233 º 004 \ 0 é 003 \ 0 \ 0 & \ 0 032 \ f O 2 7 \ 0 0000120 \ 0 \ 0 osfeu 1 - 002 3 001 - 235 0000140 \ 0 \ 0 035 003 \ 0 @ 3 × 233 º 004 \ 0 С \ a \ 0 \ 0 0000160 ä \ 0 032 \ f O r E \ 0 \ 0 \ 0 osfap 1
Как это расшифровать?
Я даже пытался hexdump -C filename
Вывод выглядит так:
00000000 1e 00 1a 04 53 44 00 00 00 00 73 65 71 31 20 20 | .... SD .... seq1 | 00000010 20 20 00 00 00 00 00 00 00 00 09 00 f3 02 33 01 | .......... О.3. | 00000020 26 00 1a 0c 4f 32 06 00 00 00 6f 73 66 75 73 31 | & ... O2 .... osfus1 | 00000030 20 20 f3 02 33 01 ff 0d 00 00 09 00 00 40 33 d7 | ó.3.ÿ ...... @ 3 × | 00000040 9b ba 04 00 e9 03 00 00 26 00 1a 0c 4f 32 37 00 | .º..é ... & ... O27. | 00000050 00 00 6f 73 66 65 75 31 20 20 f3 02 33 01 e9 9d | ..osfeu1 ó.3.é. | 00000060 00 00 1d 03 00 40 33 d7 9b ba 04 00 d1 07 00 00 | ..... @ 3 × .º..С ... | 00000070 e4 00 1a 0c 4f 72 45 00 00 00 6f 73 66 61 70 31 | ä ... OrE ... osfap1 |
Чтобы уточнить, основной файл, который является обычным файлом, имел один атрибут, который отображал, в каком-то странном формате, поэтому мы смотрим на необработанный / двоичный файл.
Выполнение восьмеричного дампа на обычном файле решило проблему с просмотром.
С помощью grep 'id=123' regular_file | head -1 | od -c
я смог увидеть, какой номер был там. Я ожидал 1, он показал нам как 001.
not text
в этом представлении ASCII это не означает, что это ASCII для программы, которая читает файл. например. Номер 7957706749327538292 при кодировании в виде 64-разрядного целого числа без знака с прямым порядком байтов. выглядит в представлении ASCII: not text
.