【发布时间】:2021-10-03 18:19:54
【问题描述】:
我正在尝试根据两个条件过滤包含列的文本文件。由于文件的大小,我不能使用列号(因为有数千个并且没有编号),但需要使用列名。我已经搜索并尝试了多种方法来执行此操作,但没有任何内容返回到命令行。
以下是我尝试过的一些事情:
awk '($colname1==2 && $colname2==1) { count++ } END { print count }' file.txt
根据条件过滤掉列
和
head -1 file.txt | tr '\t' | cat -n | grep "COLNAME
尝试返回与该列相关的可能的列号。
一个示例文件是:
ID ad bd
1 a fire
2 b air
3 c water
4 c water
5 d water
6 c earth
输出将是: 2(ad=c 和 bd=water 的计数)
【问题讨论】:
-
文件大小与什么有什么关系?
-
考虑查看how do I ask a good question,然后回来并相应地更新问题;特别是,提供样本输入和(正确的)所需输出
-
您的列是由制表符或空格分隔还是由任何空格分隔,它们是固定宽度的字段还是什么?
标签: linux awk terminal grep bioinformatics