justaguy
justaguy

Reputation: 3022

awk to remove fields and spaces or data in it

In the below tab-delimited file I am trying to remove $1 and $9 and the empty space or data in it. My two attempts seem to remove $1 and the data in it only. Thank you :).

file

R_Index Chr Start   End Ref Alt Func.IDP.refGene    Gene.IDP.refGene    GeneDetail.IDP.refGene  Inheritence ID
1   chr1    40562993    40562993    T   C   UTR5    PPT1    NM_000310.3:c.-83A>G        1

awk

awk '{sub(/^[^\t]*\t/, "")
gsub(/ /, "")
}1
' file    

awk -F'\t' '{$1=x;sub(/^\t/,y)}1' OFS='\t' file

awk -F'\t' '{$1 && $9=x;sub(/^\t/,y)}1' OFS='\t' file

desired output

Chr Start   End Ref Alt Func.IDP.refGene    Gene.IDP.refGene    GeneDetail.IDP.refGene  ID
chr1    40562993    40562993    T   C   UTR5    PPT1    NM_000310.3:c.-83A>G    1

Upvotes: 0

Views: 93

Answers (1)

karakfa
karakfa

Reputation: 67467

awk to the rescue!

$ awk -F'\t' '{sub(/[^ ]+ /,"",$1);sub(/[^ ]+ /,"",$NF)}1' file1 | 
  column -t

Chr   Start     End       Ref  Alt  Func.IDP.refGene  Gene.IDP.refGene  GeneDetail.IDP.refGene  ID
chr1  40562993  40562993  T    C    UTR5              PPT1              NM_000310.3:c.-83A>G    1

Upvotes: 2

Related Questions