bash - 在 bash 列中搜索模式
问题描述
我正在 bash 上运行一个适用于 csv 文件的程序。我需要在列中搜索模式。
输入
column1,column2,column3,column4
1,5000,1000,3000,1000
2,3600,3000,6582,5840
3,2000,1500,100,1000
4,1000,500,30,1000
--
健康)状况
条件:获取第一列大于2000的值。
期望的输出
Column1
1,5000
2,3600
我尝试了以下代码但没有成功:
awk '{ if($2 > 2000) { print } }' p.csv > pattern.csv
解决方案
awk 'NR==1{print $1}; NR>1 && $2>2000{print $1,$2}' FS=',' OFS=',' file
输出:
第 1 列 1,5000 2,3600
请参阅:8 个强大的 Awk 内置变量——FS、OFS、RS、ORS、NR、NF、FILENAME、FNR
NR
是当前行号。
推荐阅读
- xamarin - 未能解决:Lcom/google/firebase/messaging/FirebaseMessagingService
- php - XML数组获取php
- postgresql - 如何为 postgresql 9.6 安装 postgis
- jquery - IE浏览器-选择框-JQuery v1.11.1-验证不正确
- java - Facebook 帐户工具包:NoClassDefFoundError
- google-play - 从 Google Play 控制台删除草稿应用程序的包名称后,我可以在新应用程序中重新使用它吗?
- tensorflow - 在 Cloud ML 上运行的 Tensorflow 对象检测出错:没有模块 object_detection.train
- rest - Grails REST POST 失败,元素具有备用标识符列
- visual-studio-code - 在 VS Code 中,在活动组下显示状态栏?
- python - 根据 ID 值删除/保留 numpy 数组行