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



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

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

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

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

我的代码出了什么问题?我可以直接把它传给awk吗?

您可以使用xargs:

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

相关内容

  • 没有找到相关文章

最新更新