【发布时间】:2014-07-07 14:32:22
【问题描述】:
我想打印匹配的搜索模式,然后计算平均行。最好是一个例子:
输入文件:
chr17 41275978 41276294 BRCA1_ex02_01 278
chr17 41275978 41276294 BRCA1_ex02_01 279
chr17 41275978 41276294 BRCA1_ex02_01 280
chr17 41275978 41276294 BRCA1_ex02_02 281
chr17 41275978 41276294 BRCA1_ex02_02 282
chr17 41275978 41276294 BRCA1_ex02_03 283
chr17 41275978 41276294 BRCA1_ex02_03 284
chr17 41275978 41276294 BRCA1_ex02_03 285
chr17 41275978 41276294 BRCA1_ex02_04 286
chr17 41275978 41276294 BRCA1_ex02_04 287
chr17 41275978 41276294 BRCA1_ex02_04 288
我想在 bash 循环中提取(例如)相同的第 4 列:
输出1:
chr17 41275978 41276294 BRCA1_ex02_01 278
chr17 41275978 41276294 BRCA1_ex02_01 279
chr17 41275978 41276294 BRCA1_ex02_01 280
输出2:
chr17 41275978 41276294 BRCA1_ex02_02 281
chr17 41275978 41276294 BRCA1_ex02_02 282
输出3:
chr17 41275978 41276294 BRCA1_ex02_03 283
chr17 41275978 41276294 BRCA1_ex02_03 284
chr17 41275978 41276294 BRCA1_ex02_03 285
以此类推。然后计算第 5 列的平均值很容易:
awk 'END{sum+=$5}{print NR/sum}' in_file.txt
在我的例子中,有数千行 BRCA1_exXX_XX - 所以有什么想法可以拆分它吗?
保罗。
【问题讨论】: