【发布时间】:2022-01-19 16:38:43
【问题描述】:
我正在尝试从变量与某个标识符匹配的.csv 文件中提取行。这是一个示例数据集 (myfile.csv)
id,x,y,z
A01,1,5,7
A02,4,4,7
B01,1,6,6
A01,5,7,4
A01,4,8,4
C02,3,1,3
A01,1,2,3
我可以使用以下内容:
awk -F',' '{if($1 == "A01") print}' myfile.csv > outfile.csv
或
awk -F',' '{if($1 == "A01") print > "outfile.csv" }' myfile.csv
这将导致outfile.csv:
A01,1,5,7
A01,5,7,4
A01,4,8,4
A01,1,2,3
但是,我正在处理一个非常大的数据集 (200Gb),并且在运行时,我必须等待 awk 完成才能输出到 outfile.csv。
awk 是否有办法在文件遇到正确语句时打印到文件(即文件更新为awk 进程)
【问题讨论】: