将字符串分成两部分,以空格分隔

时间:2018-06-20 12:09:16

标签: string bash awk

我有一个字符串onClick,需要将其分成两个。

分隔应该在最后四位数字之前,两个字符串之间必须有10个空格的间隔:000012340012

4 个答案:

答案 0 :(得分:3)

#!/bin/bash

num=000012340012
echo "${num:0:-4}          ${num: -4}"

使用Shell Parameter Expansion sectionthe Bash manual中所述的bash参数扩展。

答案 1 :(得分:3)

此sed单线版做到了:

 sed  's/....$/          &/'

以您的示例为例:

kent$ sed  's/....$/          &/' <<<"000012340012"  
00001234          0012

答案 2 :(得分:1)

遵循awk可能也有帮助。

echo "000012340012" | awk '{print substr($0,1,length($0)-3) "          " substr($0,length($0)-3)}'

答案 3 :(得分:0)

纯Bash(printf和参数子字符串扩展是shell内置的):

x=000012340012
printf "%10s%10s\n" ${x:0:-4} ${x: -4}