从一列中打印一个元素,以逗号分隔,文件以制表符分隔

时间:2018-09-15 09:58:25

标签: awk sed

我有一个约800万行的大文件。该文件由制表符分隔,但是在第二列中,某些字段用逗号分隔。这是我文件的外观示例:

7 rs3752712,rs3752713 1542124 A G 0.211217 0.590887  
7 rs7806171 1542125 A G 0.554353 0.40921  
7 rs185709210 1542177 G A 0.510209 0.0081452 

在此示例中,我想从第1行的第二列(rs3752713)中删除第二项。所需的输出应如下所示:

7 rs3752712 1542124 A G 0.211217 0.590887  
7 rs7806171 1542125 A G 0.554353 0.40921  
7 rs185709210 1542177 G A 0.510209 0.0081452

1 个答案:

答案 0 :(得分:1)

如果您要删除第二个字段中所有以逗号开头的内容,那么下面的内容可能会对您有所帮助。

awk '{sub(/\,.*/,"",$2)} 1'  Input_file

添加BEGIN{FS=OFS="\t"},以防您的Input_file为TAB分隔,并且您也希望输出为TAB分隔。