将stdout保存到hex文件

时间:2013-01-18 16:09:30

标签: linux gnome-terminal

我有自己的命令行程序,我正在终端上运行。我如何将此程序的输出重定向到文件,以便我可以看到它的十六进制表示?我也希望程序输出的控制字符保存为十六进制。

更新

我的程序还通过std输入在终端上接收命令。它似乎在做:

myprogram 9889> output.txt的

甚至

myprogram 9889 | XXD

以某种方式扰乱程序,以至于我似乎无法让程序响应输入的命令。

3 个答案:

答案 0 :(得分:2)

您没有提到您正在使用的操作系统。在Linux中,您可以使用hexdump

your_console_app | hexdump -C

答案 1 :(得分:1)

program > file.txt

这会将STDOUT的所有program重定向到file.txt

如果您想了解有关redirection的更多信息,请阅读me

答案 2 :(得分:0)

不要这样做。

最好将文件保存为,即保存程序输出的确切字节。

然后,当您想要显示数据时,请将其视为十六进制数据。

$ program >output.txt
$ hexdump -C output.txt

这使用了Linux中常见的hexdump程序。你应该拥有它。