我有一个包含 800 行的文件,例如:
id binary-coded-info
---------------------------
4657 001001101
4789 110111111
etc.
其中每个 0 或 1 代表某些特征的存在。我想读取这个文件并对二进制编码信息执行几个按位逻辑操作(这些操作取决于用户输入和来自具有 3000 行的第二个文件的信息)。然后,这些重新计算的二进制编码信息应写入文件(带有尾随零,例如
4657 000110011
4789 110110000
etc.
如果不编写自己的基本转换例程,我应该如何做到这一点?我对任何东西都开放,包括我不知道的语言,比如 python、perl 等。它应该可以在不编译的情况下工作。
到目前为止,我尝试按照自己的方式编写脚本、awk 和 sed。这将意味着(我认为):批量读取为 base-2,转换为 base-10,根据用户输入和第二个文件进行按位运算,转换为 base-2,添加前导零并打印。使用 bc 的常用控制台提示似乎并不优雅,因为我在一个文件中有很多行。dc.sed 也是如此。并且 awk 似乎没有等同于将输入标记为二进制(如 "echo $((2#101010))" ),而且 printf 技巧不适用于二进制。那么,我将如何最优雅地做到这一点(或者,就此而言)?