0

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

这是我正在运行的 cammand:

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 / 重定向命令做错了什么?

非常感谢

4

1 回答 1

3

将 放在> fileawk 命令的末尾,而不是后面的行:

foo | awk 'script' > file

不是

foo | awk 'script'
> file
于 2017-06-25T17:28:41.400 回答