awk - awk if 0 除以 x 输出 0
问题描述
我有file
chr gene start end totsites synWBM synBF misWBM misBF
NC_044998.1 LOC100221041 14582 80739 14237 99 98 284 285
NC_044998.1 DCBLD2 31388 68748 10471 145 149 503 499
NC_044998.1 CMSS1 80874 299341 11061 48 48 179 178
NC_044998.1 FILIP1L 112495 297570 49095 170 173 642 639
NC_044998.1 LOC116808959 287349 289742 3010 0 0 0 0
NC_044998.1 TBC1D23 300404 343805 7190 39 39 153 154
NC_044998.1 NIT2 333622 344667 2828 18 18 63 63
NC_044998.1 TOMM70 346168 368957 4041 27 27 95 95
NC_044998.1 LNP1 371654 380427 2264 27 30 93 90
我正在尝试$10
使用$6/$5
awk '$$10 = $6/$5' file
但 awk 不会输出$6 = 0
我想有$6 = 0
实例0
解决方案
$6/$5
通过附加到记录的末尾,您可以很容易地做到这一点。例如:
awk 'FNR>1 { print $0"\t"$6/$5 }' file
(FNR>1
将跳过第一行,你可以用规则输出它FNR==1 {print $0}
,或者只是FNR==1 {print}
,如果你喜欢)
示例输出
使用您的数据file
,以上将产生:
NC_044998.1 LOC100221041 14582 80739 14237 99 98 284 285 0.00695371
NC_044998.1 DCBLD2 31388 68748 10471 145 149 503 499 0.0138478
NC_044998.1 CMSS1 80874 299341 11061 48 48 179 178 0.00433957
NC_044998.1 FILIP1L 112495 297570 49095 170 173 642 639 0.00346267
NC_044998.1 LOC116808959 287349 289742 3010 0 0 0 0 0
NC_044998.1 TBC1D23 300404 343805 7190 39 39 153 154 0.0054242
NC_044998.1 NIT2 333622 344667 2828 18 18 63 63 0.00636492
NC_044998.1 TOMM70 346168 368957 4041 27 27 95 95 0.00668151
NC_044998.1 LNP1 371654 380427 2264 27 30 93 90 0.0119258
如果您还有其他问题,请告诉我。
推荐阅读
- ios - 通过 vtable 调度比散列表更快,但如果在任何地方使用会消耗大量内存
- swift - 如果数据库中已存在用户,则拒绝创建用户
- php - 使用 PHP/Windows/MySQL 连接到 GDB(或 FDB)数据库文件
- javascript - 如何检查 URL 是否仅包含使用 javascript 的域?
- unit-testing - Roboletric 4.0.1 不断在 buildActivity 上抛出 Resources$NotFoundException
- javascript - three.js 用 3d '绳索' 连接两个移动的物体
- azure - 天蓝色嵌套模板依赖处理错误
- vue.js - Vue js vuelidate 无法读取动态验证模式中的自定义验证
- python - 在 RasPi 上使用 psutil(Python 模块)的问题
- node.js - 确保子文档的属性在猫鼬中具有唯一值