【发布时间】:2014-12-05 17:13:35
【问题描述】:
我有一个大约 230 万行的文本文件。每行包含一个 64 个字符的十六进制字符串。我正在尝试逐行读取文件并将十六进制字符串转换为二进制并输出到文件。我在下面用 bash 编写了这个简单的循环,但我知道它不是最优的,它需要很长时间才能完成。
有没有更快的方法,例如使用 awk?最好使用perl?我只需要更快的东西。
cat /tmp/hexFile.log | while read line
do
bin=$(echo "obase=2; ibase=16; $line" | bc )
bin=`echo $bin | sed 's/\\\ //g'`
echo $bin >> /tmp/binOutput.log
done
【问题讨论】:
-
只需谷歌“使用 awk 将十六进制转换为二进制”并选择一个解决方案。
-
艾德你非常有帮助。
标签: bash awk binary hex data-conversion