首页 > 解决方案 > 如何使用多列过滤器过滤 CSV 数据

问题描述

我在 csv 中有以下数据集,并想使用 awk 在多个列上过滤它(我的版本是 GNU 3.1.7)

如何使用 awk 过滤多个列

我使用了以下命令,但没有给出所需的结果。

awk -F, '{ if ($7="3YM62AE#UUS" && $5="01CS") print $1","$2","$3","$4","$5","$6","$7","$14}' file1.csv > file2.csv

让我知道我是否使用了正确的 awk 命令。

在此处输入图像描述

标签: awk

解决方案


请您尝试以下操作。尚未测试,但您需要从 更改===

awk '
BEGIN{
  FS=OFS=","
}
{
  if($7=="\"3YM62AE#UUS\"" && $5=="\"01CS\""){
    print $1,$2,$3,$4,$5,$6,$7,$14
  }
}' file1.csv > file2.csv

推荐阅读