我如何从bash中的值中提取一些数字

时间:2015-02-12 12:42:57

标签: bash awk sed

我正在尝试将数字与bash中的值分开。例如,我有一个包含以下行的文本文件:

2015 0212 0455 25.0 L -20.270 -70.950 44.0  GUC        4.6LGUC                1

我需要将第二列中的数字0212分开,以获得两个数字:num1=02num2=12。第三列中的数字采用相同的方式。

我想找到一个使用awksed的通用方法来执行此操作,因为其他文件都有此行:

2015 0212 0455 25.0 L -20.270 -70.950136.0  GUC        4.6LGUC                1 

在这种情况下,我还必须将值-70.950136.0分成两个数字:-70.950136.0。在这种情况下,第一个数字总是具有相同的长度:-70.950,-69.320,-68.000等。

1 个答案:

答案 0 :(得分:0)

假设固定长度记录

sed 's/.\{37\}/& /;s/.\{29\}/& /;s/.\{21\}/& /;s/.\{12\}/& /;s/.\{7\}/& /' YourFile

通过添加或删除s/.\{IndexOfCharInLine\}/& /;

来适应您的需求