从bash获取0和1的文件

时间:2014-02-04 03:57:41

标签: bash

似乎hexdumpod都不支持二进制表示中的输出。还有其他内置的方法吗?

我正在尝试在终端上绘制黑/白位图,所以我认为最简单的方法就是在每行之后输出带有换行符的位。

2 个答案:

答案 0 :(得分:2)

xxd -b input_file

将为您提供文件的二进制表示形式为1和0。

您可以使用-c标志来指定要在每个“行”中显示的字节数。

如果您只想要1和0,则可能需要进行一些后处理,因为每行前面都有行号并附加原始二进制数据。

例如,您可以执行以下操作:

xxd -c 4 -b input_file | awk '{print $2 $3 $4 $5}'

获得输出我认为你是在追求。

修改

我注意到后续评论表明您正在尝试代表png文件。如果您正在对图像进行图形表示,则可能需要研究从图像中自动生成ASCII艺术的算法。

为了好玩,您可以添加以下内容:

xxd -c 4 -b input_file | awk '{print $2 $3 $4 $5}'| sed 's/1/·/g; s/0/ /g'

获得稍微更直观的表示。

答案 1 :(得分:0)

您可以从xxd开始:

xxd -b input