Почему шестнадцатеричный вывод нескольких файлов отличается от шестнадцатеричного вывода каждого файла по отдельности? - PullRequest
0 голосов
/ 24 июня 2011

В чем разница между этими командами? Почему первый совпадает, но очистка отдельных файлов hexdumps ничего не возвращает?

$ hexdump -C DRAFT* FAIL* RCV* | grep "49 d0 38 ec 06 a1 c3"
0001f430  49 d0 38 ec 06 a1 c3 7a  10 39 9c 07 bd cd 66 10  |I.8....z.9....f.|
$ hexdump -C RCV* | grep "49 d0 38 ec 06 a1 c3"
$ hexdump -C DRAFT* | grep "49 d0 38 ec 06 a1 c3"
$ hexdump -C FAIL* | grep "49 d0 38 ec 06 a1 c3"
$ ls
DRAFT  DRAFT.HDR  DRAFTUSED  FAILED  FAILED.HDR  FAILEDUSED  RCVD  RCVD.HDR  RCVDUSED  SENT  SENT.HDR  SENTUSED  SMS.html

Файлы взяты из моего Samsung Sync SGH-A707. Я пытаюсь проанализировать эти смс-файлы, чтобы я мог сделать текстовые резервные копии моих текстовых сообщений. Строка, к которой я обращаю внимание, является управляющим сообщением, которое я закодировал в соответствии с http://www.dreamfabric.com/sms/hello.html

1 Ответ

1 голос
/ 24 июня 2011

Hexdump объединит файлы, затем преобразует их в шестнадцатеричные.Если последовательность символов разделена по границе строки, то она не будет соответствовать вашему grep.Я подозреваю, что это происходит в некоторых случаях, но не в других.

Вы можете попробовать использовать параметр -n с большим числом (больше, чем файлы, которые вы используете), чтобы поместить весь вывод в одну строку.

...