Bash脚本将查找文件传递给awk [Mac]

时间:2015-07-18 06:05:35

标签: bash awk zcat

我在目录中有一些gzip压缩日志文件,它们看起来像这样:

log/day_1_time_log_1.log.gz
...
log/day_1_time_log_100.log.gz
log/day_1_location_log_1.log.gz
...
log/day_1_location_log_100.log.gz

我想从包含字符串json的所有日志中取出第4列(一些time字符串)并将它们合并到一个文件中。这就是我所做的,我得到zcat: unknown compression format错误。

find logs/* -name *time* | zcat | awk -F"\t" '{ print $4 }' > output.json

我的代码出了什么问题?我可以直接将其传递给awk吗?

1 个答案:

答案 0 :(得分:0)

您可以使用xargs

find logs/ -name '*time*.log.gz' -print0 | 
    xargs -0 -I % gzcat % | awk -F'\t' '{print $4}' > output.json