小弟初学,怎么将"12345"拆分成"1 2 3 4 5"这样的数组?有哪些方法?谢谢了。
例如:将a=12345,在脚本文件中拆分成b=(1 2 3 4 5)。
如何将"12345"拆分成"1 2 3 4 5"这样的数组?
-
- 帖子: 6
- 注册时间: 2010-12-08 22:22
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 48
- 注册时间: 2011-03-01 23:14
Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
嗯。而且不太清楚楼主拆开要做什么。
你可以用 ${a:0:1} ${a:1:1} 的方式来引用 a 的各个位。
${#a} 可以得到 a 串的长度。
你可以用 ${a:0:1} ${a:1:1} 的方式来引用 a 的各个位。
${#a} 可以得到 a 串的长度。
-
- 帖子: 12
- 注册时间: 2007-01-02 4:09
Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
a="stringwithoutspace"
方法1.
用sed把给每个字符后加个空格然后构建一个数组:
b=($(echo $s | sed 's/./ &/g;s/^ //'))
方法2.
利用seq和3楼所说的方法构建一个数组:)
方法1.
用sed把给每个字符后加个空格然后构建一个数组:
b=($(echo $s | sed 's/./ &/g;s/^ //'))
方法2.
利用seq和3楼所说的方法构建一个数组:)
-
- 帖子: 18
- 注册时间: 2009-03-29 18:15
Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
perl -e '@array=split(//, "12345");print join(" ", @array)'
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
或者:
b=($(echo $a|grep -o '.'|xargs))
b=($(echo $a|grep -o '.'|xargs))
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
-
- 帖子: 6
- 注册时间: 2010-12-08 22:22
Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
偶起初使用的方法与3楼一样,不过觉得4、6楼的方法更好。如果是使用awk,有该怎么差分呢?
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
Re: 如何将"12345"拆分成"1 2 3 4 5"这样的数组?
echo $a|awk '{split($0,b,"");for (i in b) print b}'
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。