How to remove empty field in a text file?

Hi all,

I want to remove empty field in a text file. I tried to used sed. But it failed.

Input:

LG10_PM_map_19_LEnd	1000560	G	AG	AG				
LG10_PM_map_19_LEnd	1005621	G		AG				
LG10_PM_map_19_LEnd	1011214	A	AG	AG				
LG10_PM_map_19_LEnd	1011673	T	CT	CT				
LG10_PM_map_19_LEnd	1088961	C						CT
LG10_PM_map_19_LEnd	1089024	G						AG
LG10_PM_map_19_LEnd	1108301	C						
LG10_PM_map_19_LEnd	11365128	G		AG	AG	AG	AG	AG
LG10_PM_map_19_LEnd	11365170	T		CT	CT	CT	CT	CT
LG10_PM_map_19_LEnd	11381744	A			AG	AG	AG	AG
LG10_PM_map_19_LEnd	11381772	T				CT	CT	CT
LG10_PM_map_19_LEnd	11385851	A			AG		AG	AG
LG10_PM_map_19_LEnd	11386265	A			AC		AC	AC
LG10_PM_map_19_LEnd	1138663	T						AT

Output

LG10_PM_map_19_LEnd	1000560	G	AG	AG				
LG10_PM_map_19_LEnd	1005621	G	AG				
LG10_PM_map_19_LEnd	1011214	A	AG	AG				
LG10_PM_map_19_LEnd	1011673	T	CT	CT				
LG10_PM_map_19_LEnd	1088961	C	CT
LG10_PM_map_19_LEnd	1089024	G	AG
LG10_PM_map_19_LEnd	1108301	C		
LG10_PM_map_19_LEnd	11365128	G	AG	AG	AG	AG	AG
LG10_PM_map_19_LEnd	11365170	T	CT	CT	CT	CT	CT
LG10_PM_map_19_LEnd	11381744	A	AG	AG	AG	AG
LG10_PM_map_19_LEnd	11381772	T	CT	CT	CT
LG10_PM_map_19_LEnd	11385851	A	AG	AG	AG
LG10_PM_map_19_LEnd	11386265	A	AC	AC	AC
LG10_PM_map_19_LEnd	1138663	T	AT

How can remove these blank fields?

Thanks in advance.

Hello huiyee1,

Could you please try following, it may help you.

awk '{$1=$1} 1' OFS="\t" Input_file

Output will be as follows.

LG10_PM_map_19_LEnd     1000560 G       AG      AG
LG10_PM_map_19_LEnd     1005621 G       AG
LG10_PM_map_19_LEnd     1011214 A       AG      AG
LG10_PM_map_19_LEnd     1011673 T       CT      CT
LG10_PM_map_19_LEnd     1088961 C       CT
LG10_PM_map_19_LEnd     1089024 G       AG
LG10_PM_map_19_LEnd     1108301 C
LG10_PM_map_19_LEnd     11365128        G       AG      AG      AG      AG      AG
LG10_PM_map_19_LEnd     11365170        T       CT      CT      CT      CT      CT
LG10_PM_map_19_LEnd     11381744        A       AG      AG      AG      AG
LG10_PM_map_19_LEnd     11381772        T       CT      CT      CT
LG10_PM_map_19_LEnd     11385851        A       AG      AG      AG
LG10_PM_map_19_LEnd     11386265        A       AC      AC      AC
LG10_PM_map_19_LEnd     1138663 T       AT

Thanks,
R. Singh

1 Like

Try:

tr -s '\t' < file

--
Note: RavinferSing13's suggestion works also, as long as there are no spaces somewhere in the input file, only TABS

1 Like

Thanks everyone.