bash - 当满足另一个条件时,如何计算与某个条件匹配的值?
问题描述
我有一个包含 10 列的 csv 文件。只有在第 3 列具有"CODE"
我需要使用 bash 脚本的值时,我才需要对第 4 列和第 5 列的行数求和。例如:
3rd col, 4th col, 5th col
Line 1: DECODE 23 12
Line 2: CODE 10 20
Output: 10 + 20 = 30
解决方案
AWK 来救援:
$ cat foo.csv
1st col, 2nd col, 3rd col, 4th col, 5th col
1,1,DECODE,23,12
2,2,CODE,10,20
$ cat run.sh
#!/bin/bash
awk -F "," '{ if ($3 == "CODE") print $4 + $5 }' foo.csv
$ sh run.sh
30
推荐阅读
- c# - 粒子系统没有通过代码播放
- python - Python gRPC 服务器不监听指定端口
- node.js - 安装嵌套依赖的 peerDependencies
- javascript - 尝试通过 NodeJS Lambda 将 XML 站点地图放入 AWS S3 存储桶
- c++ - 如何选择调用的重载函数
- javafx - 在 JavaFx BarChart 中显示垂直线
- javascript - JS中的html类替换不起作用
- ionic-framework - 当我在我的 ionic 应用程序上运行“ionic cordova emulate ios”时架构 x86_64 的未定义符号
- python - 获取属性的所有者实例
- google-api - Google Cloud 启动页面和耗尽自动扩缩器组