awk - 如何使用多列过滤器过滤 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 '
BEGIN{
FS=OFS=","
}
{
if($7=="\"3YM62AE#UUS\"" && $5=="\"01CS\""){
print $1,$2,$3,$4,$5,$6,$7,$14
}
}' file1.csv > file2.csv
推荐阅读
- python - Heroku - 看不到应用程序
- gcc - 构建 cloudflare-zlib-sys.rs 时 gcc.exe 失败
- python - 为什么 Python 打印出大量错误?
- highcharts - 集群缩放错误:属性 x:预期长度,“NaNNaNNaNNaN”
- java - 对 JavaFX 继承感到困惑
- foreign-keys - 如何在 starUML ER 图中插入外键(FK)?
- javascript - 如何从 JS 触发 CSS 动画?
- linux - 我可以在同一台机器上同时创建特权容器和非特权容器吗?
- java - 比较器接口中的比较方法
- java - 使用与 JavaFX 应用程序关联的线程捕获按键按下