使用awk从制表符分隔的文件中删除字段

使用awk从制表符分隔的文件中删除字段,awk,Awk,我正试图清理一些选项卡描述的文件,并认为下面的awk将从文件中删除字段18Otherinfo。我还尝试了cut,但似乎无法获得所需的输出。谢谢:) 文件 Chr Start End Ref Alt Func.refGene Gene.refGene GeneDetail.refGene ExonicFunc.refGene AAChange.refGene PopFreqMax CLINSIG CLNDBN CLNACC CLNDSDB CLNDSDBID c

我正试图清理一些选项卡描述的文件,并认为下面的
awk
将从文件中删除字段18
Otherinfo
。我还尝试了
cut
,但似乎无法获得所需的输出。谢谢:)

文件

Chr Start   End Ref Alt Func.refGene    Gene.refGene    GeneDetail.refGene  ExonicFunc.refGene  AAChange.refGene    PopFreqMax  CLINSIG CLNDBN  CLNACC  CLNDSDB CLNDSDBID   common  Otherinfo
chr1    949654  949654  A   G   exonic  ISG15   .   synonymous SNV  ISG15:NM_005101:exon2:c.294A>G:p.V98V   0.96    .   .   .   .   .   .   1   3825.28 624 chr1    949654  .   A   G   3825.28 PASS    AF=1;AO=621;DP=624;FAO=399;FDP=399;FR=.;FRO=0;FSAF=225;FSAR=174;FSRF=0;FSRR=0;FWDB=0.00425236;FXX=0.00249994;HRUN=1;LEN=1;MLLD=97.922;OALT=G;OID=.;OMAPALT=G;OPOS=949654;OREF=A;PB=0.5;PBP=1;QD=38.3487;RBI=0.0367904;REFB=0.0353003;REVB=-0.0365438;RO=2;SAF=335;SAR=286;SRF=0;SRR=2;SSEN=0;SSEP=0;SSSB=0.00332809;STB=0.5;STBP=1;TYPE=snp;VARB=-3.42335e-05;ANN=ISG15 GT:GQ:DP:FDP:RO:FRO:AO:FAO:AF:SAR:SAF:SRF:SRR:FSAR:FSAF:FSRF:FSRR   1/1:171:624:399:2:0:621:399:1:286:335:0:2:174:225:0:0 GOOD 399 reads
所需输出

Chr Start   End Ref Alt Func.refGene    Gene.refGene    GeneDetail.refGene  ExonicFunc.refGene  AAChange.refGene    PopFreqMax  CLINSIG CLNDBN  CLNACC  CLNDSDB CLNDSDBID   common
chr1    949654  949654  A   G   exonic  ISG15   0   synonymous SNV  ISG15:NM_005101:exon2:c.294A>G:p.V98V   0.96    .   .   .   .   .   .
awk(运行但不删除字段18)

剪切(删除除18以外的所有字段)


默认情况下,awk使用空格作为分隔符。因此,您必须指定在输出中使用制表符作为分隔符(
OFS
):


默认情况下,awk使用空格作为分隔符。因此,您必须指定在输出中使用制表符作为分隔符(
OFS
):


cut-f1-17 file1
应该可以解决这个问题。将来,要意识到,比显示页面宽的数据很难管理,并且您可以像字段18一样轻松地发布字段8的问题。甚至是第五场。祝你好运。可以
cut
将删除的字段标题重命名为“Comments”吗?因此,
18
字段标题在删除后是“Otherinfo”,它是“Comments”。谢谢:)
cut-f1-17 file1
应该可以解决这个问题。将来,要意识到比显示页面更宽的数据很难管理,并且你可以像字段18一样轻松地发布字段8的问题。甚至是第五场。祝你好运。可以
cut
将删除的字段标题重命名为“Comments”吗?因此,
18
字段标题在删除后是“Otherinfo”,它是“Comments”。谢谢:)删除后,删除的字段能否重新命名为“评论”?可能是
($18=“;”Comments“…
)。谢谢:)。对不起,我还不完全清楚您想要什么:如何“重命名”已删除的字段?非常感谢您的帮助:)。删除后的字段能否重新命名为“Comments”?可能是
($18=”“;“评论”…
。谢谢:)。对不起,我还不完全清楚您想要什么:如何“重命名”已删除的字段?非常感谢您的帮助:)。
awk '{ $18=""; print }' file1
cut -f18 file1
awk 'BEGIN{FS=OFS="\t"}{$18=""; gsub(/\t\t/,"\t")}1' file1