处理 bz2 文件并使用 awk 处理
process bz2 file and process using awk
我有一个名为 "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
并且输出完全符合预期,如下所示,但不是将结果输出到文本文件,而是输出到命令 window:
111222333 111
111222444 111
111222555 111
111222777 222
111222888 111
我的 bzip / 重定向命令做错了什么?
非常感谢
将 > file
放在 awk 命令的末尾,而不是在其后的行中:
foo | awk 'script' > file
没有
foo | awk 'script'
> file
我有一个名为 "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
并且输出完全符合预期,如下所示,但不是将结果输出到文本文件,而是输出到命令 window:
111222333 111
111222444 111
111222555 111
111222777 222
111222888 111
我的 bzip / 重定向命令做错了什么?
非常感谢
将 > file
放在 awk 命令的末尾,而不是在其后的行中:
foo | awk 'script' > file
没有
foo | awk 'script'
> file