12345678 = 123 45 67 8在bash中

Sri*_*ram 1 bash command-line-arguments number-formatting

我有一个脚本,从命令行输入一个大的17位数字作为输入.我想将它分成5个不同的数字,每个数字都有不同的数字.的数字.像这样:

Input: 23063080434560228  
Output of the program:  
Number1: 23063  
Number2: 08  
Number3: 04  
Number4: 3456  
Number5: 0228  
Run Code Online (Sandbox Code Playgroud)

现在程序的输出(以每个数字的数字表示)是固定的,即,Number2总是有2位数,依此类推.鉴于这种输出方案,我不确定分区是否是一种选择.bash我可以使用一些命令/实用程序吗?我在网上看过它并没有多见.

谢谢,
Sriram.

dog*_*ane 8

您可以使用子串提取:

${string:position:length}
Run Code Online (Sandbox Code Playgroud)

length从中string开始提取子字符串的字符position.

例如:

INPUT=23063080434560228
num1=${INPUT:0:5}
num2=${INPUT:5:2}
num3=${INPUT:7:2}
num4=${INPUT:9:4}
num5=${INPUT:13:4}
Run Code Online (Sandbox Code Playgroud)