0

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

更新

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

我的程序 9889 > output.txt

甚至

我的程序 9889 | xxd

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

4

3 回答 3

2

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

your_console_app | hexdump -C
于 2013-01-18T16:11:53.750 回答
1
program > file.txt

这会将所有重定向STDOUTprogramfile.txt

如果你想了解更多redirection,请阅读

于 2013-01-18T16:11:22.670 回答
0

不要这样做。

最好按原样保存文件,即保存程序输出的确切字节。

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

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

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

于 2013-01-18T16:13:06.363 回答