Separating joined columns with awk

北慕城南 提交于 2020-02-02 11:37:55

问题


I have a data file which looks like the following:

0.00000-130250.92921  28880.20200-159131.13121    301.58706
0.05000-130250.73120  28156.69202-158407.42322    294.03167
0.10000-130250.79137  28237.16138-158487.95275    294.87198
0.15000-130250.81209  28168.63042-158419.44250    294.15634
0.20000-130250.82418  28149.57611-158400.40029    293.95736
0.25000-130250.88438  28069.57135-158320.45573    293.12189
0.30000-130251.06059  28071.30576-158322.36635    293.14000
0.35000-130250.96639  28084.46351-158335.42990    293.27741

as you can see some of the columns which start with "-" sign are joined to the previous one, for instance: 0.35000-130250.96639 this should be 0.35000 and -130250.96639. I can separate the columns with VIM but I wanted to know if it is possible to do that with AWK.

Thanks.


回答1:


You can use sed: replace each - with a space and -:

sed -e 's/-/ -/g' input > output

The /g means globally, i.e. it replaces all occurrences on each line, not just the first one.




回答2:


Using just awk

awk '{ gsub("-"," -") ; print }'


来源:https://stackoverflow.com/questions/33955512/separating-joined-columns-with-awk

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!