Entering edit mode
5.3 years ago
star
▴
350
I have a big table like 'df', I would like to remove all value after first ':' for each row.
I have tried :
cat df.bed | cut -f1 -d":" | head
and cat df.bed |sed 's/:.*//' | head
but they removed all columns after first ':' .
df:
rs1006501 T A 0/0:14,0:14:42:0,42,596 A 0/0:5,0:5:15:0,15,177
rs1006502 NA NA NA C,T ./.
rs1015190 NA NA NA T 1/1:0,2:2:6:75,6,0
rs10164686 G A 0/0:1,0:1:3:0,3,46 NA NA
desired output:
rs1006501 T A 0/0 A 0/0
rs1006502 NA NA NA C,T ./.
rs1015190 NA NA NA T 1/1
rs10164686 G A 0/0 NA NA
I'd try to replace all instances of
<TAB><SOMETHING_MINIMAL_WITH_NO_TABS>:<SOMETHING_GREEDY_WITH_NO_TABS>
with<TAB><SOMETHING_MINIMAL_WITH_NO_TABS>
. And would do it in perl rather than sed, because sed is pretty ugly when matching on tabs.