0

这些命令有什么区别?为什么第一个匹配,但 grepping 单个文件 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编码的控制消息

4

1 回答 1

1

Hexdump 将连接文件,然后转换为十六进制。如果字符序列跨行边界分割,那么它将与您的 grep 不匹配。我怀疑这在某些情况下会发生,但在其他情况下不会。

您可以尝试使用带有大数字(大于您正在使用的文件)的 -n 选项将整个输出放在一行上。

于 2011-06-24T10:29:35.340 回答