如何将坏数据过滤到新文件后删除?

如何将坏数据过滤到新文件后删除?

这是我已经排序的示例数据(3 列):

CustomerId、fname、lname、电子邮件、性别、消费金额、信用卡、交易 ID、交易日期、街道、城市、州、邮政编码、电话

<redacted>

通过使用命令:

awk -F ',' '{ state = $12 ? $12: "exceptions.csv"; print}' < "03_conv_gender.tmp" > "04_filter_bad_data.tmp"

我检查每一行是否缺少 {state} 值,如果是,则将其放入名为“exceptions.csv”的新文件中。

我如何从“04_filter_bad_data.tmp”中删除原始的坏数据,或者是否有更好的方法来做到这一点?

答案1

awk -F, '{ print >($12==""?"badData.csv":"goodData.csv") }' infile

这将输入文件拆分为两个单独的输出文件,这些行具有空列#12 (状态字段)将被写入文件中“坏数据.csv”否则它将被写入“好数据.csv”输出文件。

相关内容