使用awk处理bz2文件和进程

时间:2017-06-25 16:41:25

标签: awk bzip2 bz2 bzip

我有一个名为“text.bz2”的文件,其中包含我想要处理的许多记录。我有一个脚本成功处理标准文本文件中的所有数据,并将结果输出到不同的“results.txt”文件,但我当前运行的命令将bz2文件的所有结果输出到命令提示符(像cat一样),创建results.txt文件 - 但它是空的。

这是我正在运行的那个:

bzip2 -dc text.bz2 | awk ... '
'
> results.txt

解压缩的bz2文件中的数据格式为:

field1=xxx;field2=xxx;field3=111222222;field4=xxx;field5=xxx
field1=xxx;field2=xxx;field3=111222222;field4=xxx;field5=xxx
field1=xxx;field2=xxx;field3=111222333;field4=xxx;field5=xxx
field1=xxx;field2=xxx;field3=111222444;field4=xxx;field5=xxx
field1=xxx;field2=xxx;field3=111222555;field4=xxx;field5=xxx
field1=xxx;field2=xxx;field3=111222555;field4=xxx;field5=xxx
field1=xxx;field2=xxx;field3=111222777;field4=xxx;field5=xxx
field1=xxx;field2=xxx;field3=111222888;field4=xxx;field5=xxx

并且输出完全符合预期,如下所示,但不是将结果输出到文本文件,而是输出到命令窗口:

111222333 111
111222444 111
111222555 111
111222777 222
111222888 111

我的bzip / redirection命令出错了什么?

非常感谢

1 个答案:

答案 0 :(得分:3)

> file放在awk命令的末尾,而不是放在它之后的行上:

foo | awk 'script' > file

foo | awk 'script'
> file