用awk分隔连接的列

时间:2015-11-27 10:36:52

标签: bash vim awk

我有一个如下所示的数据文件:

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

你可以看到一些以“ - ”符号开头的列 加入前一个,例如:0.35000-130250.96639 这应该是0.35000和-130250.96639。我可以分开了 VIM的列,但我想知道是否可以这样做 用AWK。

感谢。

2 个答案:

答案 0 :(得分:5)

您可以使用sed:将每个-替换为空格-

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

/g表示全局,即它替换每一行的所有出现,而不仅仅是第一行。

答案 1 :(得分:1)

仅使用awk

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