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

How I can extract some numbers from a value in bash

我正在尝试将数字与 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 等

假设固定长度记录

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

根据您的需要添加或删除 s/.\{IndexOfCharInLine\}/& /;