我有一个如下所示的 csv 文件(名为 csvfile.csv):
ENSG00000000003.15;4;0;22;21;2;10;0;0;0;0;6;0;8;2;5;15;0;0
ENSG00000000005.6;0;0;0;0;0;1;0;0;0;0;0;0;0;3;1;2;0;0
ENSG00000000419.14;18;57;76;8;12;28;35;5;73;13;50;31;21;92;39;134;31;59
ENSG00000000457.14;3;6;43;2;0;15;6;0;44;8;22;8;2;65;5;22;32;20
ENSG00000000460.17;55;3;14;28;16;7;32;15;8;19;8;18;23;12;23;25;65;94
ENSG00000000938.13;10;89;862;164;5;297;243;1;582;102;492;46;103;251;124;167;109;1108
ENSG00000000971.16;0;0;9;39;0;75;20;0;6;0;18;0;1;18;17;35;0;0
ENSG00000001036.14;87;98;69;32;47;41;35;46;153;72;48;38;32;19;56;103;186;166
ENSG00000001084.13;0;23;60;25;0;29;63;12;41;4;44;0;7;6;2;1;0;18
ENSG00000001167.15;0;0;56;0;13;22;25;0;34;13;23;4;2;87;4;7;32;28
ENSG00000001460.18;22;3;27;15;1;34;11;3;11;5;15;19;5;36;6;18;21;26
ENSG00000001461.17;74;131;159;87;181;101;144;60;347;148;98;65;60;90;96;46;335;224
ENSG00000001497.18;0;0;90;2;0;38;2;0;44;19;21;0;32;40;16;3;0;43
我正在尝试仅存储特定基因的计数(基因名称后面的数字),这些基因存储在名为 text.txt 的 txt 文件中:
ENSG00000001036.14
ENSG00000001461.17
我还想保留示例名称。所以我想要的输出是:
ENSG00000001036.14;87;98;69;32;47;41;35;46;153;72;48;38;32;19;56;103;186;166
ENSG00000001461.17;74;131;159;87;181;101;144;60;347;148;98;65;60;90;96;46;335;224
我尝试了以下方法:
awk -f, '$1==text.txt' csvfile.csv > new.csv.
但是,这并没有给我想要的输出。谁能帮忙解决这个问题?
谢谢!
最佳答案
你可以这样做:
awk -F ';' '
FNR==NR{idx[$1]; next}
FNR==1 || $1 in idx
' textile.txt csvfile.csv
打印:
;sample_a;sample_b;sample_c;sample_d
gene_1;1;1;1;1
gene_2;2;2;2;2
https://stackoverflow.com/questions/69980150/
相关文章:
node.js - 使用 Fastify : "@nestjs/platform-express"
python - 算法题: Finding the cheapest flight
javascript - 带有 Material-UI 的 SSR 上的@emotion/cache
php - undefined variable : data , $data 未定义。拉维尔 8
python - AttributeError : module 'cv2.cv2' has no
reactjs - 如何将参数传递给从自定义 Hook 转换的函数?