【发布时间】:2021-10-28 19:05:54
【问题描述】:
我正在我的命令行/bash 中处理一个包含数百万行的大文件。我正在使用要求 rsID 少于 40 个字符的软件分析数据。
awk 'length($2)>40' 1000G_All_chr_merged.bim > IDtoolong.bim head IDtoolong.bim 1 rs540674385;rs540674385;rs540674385;rs576523156 0 4439107 AAG AAGGAGG 1 rs561687032;rs546685337;rs528205989;rs370782231 0 4804685 GCACACA GCA 1 rs561021122;rs542858700;rs527502051;rs560257256;rs545143128 0 6210427 AGG GGAAT 1 rs529037702;rs561824298;rs539915961;rs528175459 0 12122415 CCCATCCAT AT 1 rs571308260;rs549871057;rs537509991;rs587738155 0 12611561 CAAA CAAAA 1 rs553093917;rs553093917;rs534535365;rs570185860 0 16657917 AAAT AAATAAT
如何遍历第二列并删除第一个分号 ; 以及之后的任何内容?
我试过了:
awk '{sub(/;.*/,"", $2)}' 1000G_All_chr_merged.bim > adjusted_IDlength.bim
我也使用了 sed,但发现自己在某一时刻毁了文件。任何帮助表示赞赏!
【问题讨论】: