gpt4 book ai didi

Linux 通过对特定列求和来过滤文本行

转载 作者:太空狗 更新时间:2023-10-29 11:40:45 25 4
gpt4 key购买 nike

根据原始测序数据,我创建了一个计数文件 (.txt),其中包含每个样本的独特序列计数。数据如下所示:

sequence    seqLength S1   S2   S3   S4   S5   S6   S7   S8
AAAAA... 46 0 1 1 8 1 0 1 5
AAAAA... 46 50 1 5 0 2 0 4 0
...
TTTTT... 71 0 0 5 7 5 47 2 2
TTTTT... 81 5 4 1 0 7 0 1 1

我想过滤每行总和的序列,因此只删除所有样本总和(S1 到 S8 的总和)低于例如 100 的行。

这可能可以用 awk 来完成,但我对这个文本处理实用程序没有经验。谁能帮忙?

最佳答案

试试这个:

awk 'NR>1 {sum=0; for (i=3; i<=NF; i++) { sum+= $i } if (sum > 100) print}' file.txt

它将跳过第 1 行 NR>1然后将从您的示例中的项目 3(S1 到 S8)开始对每行项目求和:

{sum=0; for (i=3; i<=NF; i++) { sum+= $i } 

然后将只打印总和大于 100 的行:if (sum > 100) print}'

您可以根据总和修改/测试条件,但希望这能让您了解如何使用 awk

关于Linux 通过对特定列求和来过滤文本行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49730487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com