我是'sh'的新手。有可能:
#!/usr/bin/env ruby
i=123
i.to_s.split('').join('.') #=> "1.2.3"
我尝试了一些但没有成功的事情:
i=123
IFS='' read -a array <<< "$i"
echo $array #=> "123"
答案 0 :(得分:5)
您可以使用fold
和paste
:
$ i=123
$ echo $i | fold -w1 | paste -sd.
1.2.3
$ i=1234567890
$ echo $i | fold -w1 | paste -sd.
1.2.3.4.5.6.7.8.9.0
答案 1 :(得分:2)
这样做的一种方法是使用sed:
sed -e 's/\(.\)/\1./g' -e 's/\.$//' <<< "$i"
1.2.3
答案 2 :(得分:2)
试试这个:
sed -r 's/\B/./g' <<< "$i"
尽管如此,您的sed
需要能够处理扩展正则表达式(选项-r
)。