2016-12-15 78 views
-1

我在不同的列中有数百万的观察结果,其中一列包含两个因素的记录。例如136789,我想将第一个字符(1)和其余(36789)分隔为所有观察值的单独列。如何拆分包含两个记录的列分开

现场看起来像这样

#136789 

我希望看到这样的

#1 36789 
+2

提供样本输入文件和预期输出文件应用sub()。 – Inian

+0

更新问题中的示例文件以供大家参考 – Inian

+0

@此后还有更多列吗? (和)之前有列吗?如果它在中间,你认为它如何被识别? – Inian

回答

1

您可以使用sub()功能。

例如:

kent$ awk 'BEGIN{x="123456";sub(/^./,"& ",x);print x}' 
1 23456 

在你的代码,你需要一些列($x

+0

我想分割的列($ 17)是在其他列的末尾。所以我怎么写脚本? – Alula

+0

'awk'{sub(/^./,"&“,$ 17)} 7'文件'@Alula – Kent