【发布时间】:2018-02-22 06:14:28
【问题描述】:
我有一个文件,每行有 6 列,用“,”分隔。最后一列以 base 64 压缩和编码。输出文件应为第 3 列和第 6 列(解码/解压缩)。
我尝试这样做
awk -F',' '{"echo "$6" | base64 -di | gunzip" | getline x;print $3,x }' OFS=',' inputfile.csv >outptfile_decoded.csv
第一行的结果还可以,但在某些行之后,解码输出与之前的行相同。似乎解码和解压缩挂起,但我没有收到错误消息。
单解码/解压缩工作正常,即
回显“H4sIAAAAAAAAAA7NJTkuxs0lMLrEztNEHUTZAgcy8tHw7m7zSXLuS1BwrbRNjMzMTc3MDAzMDG32QqE1uSWVBqh2QB2HYlCYX2xnb6IMoG324ASCWHQAaafi1YQAAAA==”| base64 -di |压缩包
造成这种影响的原因是什么? (没有错误消息)。 还有其他可靠的方法吗?
【问题讨论】:
-
检查你的行尾,如果从 Windows 环境复制文件,请执行
dos2unix