使用GNU并行提高awk性能



我有一些包含.csv.gz文件的子目录。使用awk,我可以根据第1列和第2列中的值筛选文件,并将结果转储到单个.csv.gz文件中。

pigz -rdc /path/to/dir/ | awk -F, '{ if(($1>100) && ($2>100)) {print} }' | pigz > output.csv.gz

得益于pigz,bash管道的前端和端部可以从并行处理中获益。我想知道如何使用GNU并行工具并行执行awk作业。

doit() {
pigz -dc "$1" | awk -F, '{ if(($1>100) && ($2>100)) {print} }'
}
export -f doit
find /path/to/dir -name '*.gz' | parallel doit | pigz > output.csv.gz

最新更新