我如何从 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=02
和 num2=12
。第三列数字同理。
我想找到一个带有 awk
或 sed
的通用方法来执行此操作,因为其他文件有此行:
2015 0212 0455 25.0 L -20.270 -70.950136.0 GUC 4.6LGUC 1
在这种情况下,我还必须将值 -70.950136.0
分隔为两个数字:-70.950
和 136.0
。在这种情况下,第一个数字始终具有相同的长度:-70.950、-69.320、-68.000 等
假设固定长度记录
sed 's/.\{37\}/& /;s/.\{29\}/& /;s/.\{21\}/& /;s/.\{12\}/& /;s/.\{7\}/& /' YourFile
根据您的需要添加或删除 s/.\{IndexOfCharInLine\}/& /;
我正在尝试将数字与 bash 中的值分开。例如,我有一个包含以下行的文本文件:
2015 0212 0455 25.0 L -20.270 -70.950 44.0 GUC 4.6LGUC 1
我需要在第二列中分隔数字 0212
以获得两个数字:num1=02
和 num2=12
。第三列数字同理。
我想找到一个带有 awk
或 sed
的通用方法来执行此操作,因为其他文件有此行:
2015 0212 0455 25.0 L -20.270 -70.950136.0 GUC 4.6LGUC 1
在这种情况下,我还必须将值 -70.950136.0
分隔为两个数字:-70.950
和 136.0
。在这种情况下,第一个数字始终具有相同的长度:-70.950、-69.320、-68.000 等
假设固定长度记录
sed 's/.\{37\}/& /;s/.\{29\}/& /;s/.\{21\}/& /;s/.\{12\}/& /;s/.\{7\}/& /' YourFile
根据您的需要添加或删除 s/.\{IndexOfCharInLine\}/& /;