ChinaUnix.net
相关文章推荐:

bash 数组

$ echo $bash_VERSION 4.2.37(1)-release 现在我弄一个数组出来:[code]foo=(A B C) [/code],这样子不用声明就自然形成一个数组,于是在没有改变IFS默认值的情况下,可以如此取出各个元素的值:[code]echo ${foo[0]}[/code]A[code]echo ${foo[1]}[/code]B[code]echo ${foo[2]}[/code]C 上面说的是最普通的方式,下面是我有疑问的地方。 我现在有一个文件a.txt,内容是 D E F 现在我把这个文件的内容以这样的方式赋值给一个变量...

by mystérieux - Shell - 2013-01-28 11:04:57 阅读(3041) 回复(22)

相关讨论

有个文件如下:[code]cat makelib.ini src/pub/libpara libpara src/pub/libpub libpub sss src/pub/db_public_lib db_public_lib src/pub/libring_buf libring_buf src/pub/libring_buf libring_buf_nolog src/pub/logger liblogger src/pub/libtableout libtableou...

by mpstat - Shell - 2011-06-20 15:42:57 阅读(2479) 回复(5)

$ array[1.2.3.4]=10 -bash: 1.2.3.4: syntax error in expression (error token is ".2.3.4") 我有多个ip,要进行赋值存到数组中,上面的方式不行,需要怎么赋值才行,请教

by 泛泛之辈 - Shell - 2009-12-20 11:38:00 阅读(1874) 回复(6)

bash 数组用法小结 【小蜗牛五二无聊之作 】 bash只支持一维数组,但参数个数没有限制。 声明一个数组: declare -a array (其实不用声明,按数组方式直接赋值给变量即可,bash就知道那是数组) 数组赋值: (1) array=(var1 var2 var3 ... varN) (2) array=([0]=var1 [1]=var2 [2]=var3 ... [n]=varN) (3) array[0]=var1 arrya[1]=var2 ... array[n]=varN 计算数组元素个数: ${#array[@]} 或者...

by snowtty - Linux文档专区 - 2009-07-09 21:31:12 阅读(1304) 回复(0)

【小蜗牛五二无聊之作 】 bash只支持一维数组,但参数个数没有限制。 声明一个数组: [color="#ff1493"]declare -a array (其实不用声明,按数组方式直接赋值给变量即可,bash就知道那是数组) 数组赋值: [color="#ff1493"](1) array=(var1 var2 var3 ... varN) [color="#000000"](2) array=([0]=var1 [1]=var2 [2]=var3 ... [n]=varN) [color="#000000"](3) array[0]=var1 arrya[1]=var2 ... arr...

by sjhf - Linux文档专区 - 2009-07-05 17:32:59 阅读(1029) 回复(0)

比方打印出所有的非空的元素以及下标。 我目前的方法是 [code] a_len=${#a[@]} for((count=0,i=0;count数组的真实长度,然后按照下标自加上去挨个搜索 而awk中可以 [code] for (i in a) print i,a [/code] bash中可以吗?

by cjaizss - Shell - 2008-01-20 16:15:18 阅读(25844) 回复(9)

RT.. 代码如下,我想把tmp里的内容转变成数组如,请问如何做? 谢谢 . $tmp输出的内容为: 2 5 6 [code] IFS="\n"; arr=($(echo $tmp)); echo ${arr[1]}; [/code]

by Qlin - Shell - 2007-01-31 14:50:38 阅读(1903) 回复(4)

请问如何给数组赋值和显示数组的值。 谢谢!

by SuperCube - Shell - 2005-05-19 17:05:58 阅读(1005) 回复(1)

大家好, 1. 我想解决一个问题就是,我有一个文本,内容大致如下 aaa 1 bbb 1 aaa 2 ccc 3 ddd 1 aaa 9 ccc 1 ....... 我想输出结果为第一列中不同元素的第二列的值之和,即如SQL: select column1, sum(column2) from xxx group by column1; 2. 如果输入不是一个文本,即上面的内容是我从管道中得到,我如何写一个脚本得到上面相同的功能,即我想写一个reduce.sh通过下面命令来得到如上结果 cat test.txt | ./preprocess.sh | ....

by kenshinsee - Shell - 2012-01-04 20:46:14 阅读(1425) 回复(6)

遇到一个奇怪的问题,如下是读取当前目录下的文件和目录,并把它存放到数组中, #!/bin/bash x=0 for i in `ls -l` do a[$x]="$i" x=`expr ${x} + 1` done echo ${a[@]} 奇怪的是在其他版本的系统中是可以正常运行的..我的环境就不行.为Ubuntu 8.04.4 LTS 报错信息为: test.sh: 8: a[0]=abc: not found ....... test.sh: 8: a[153]=book: not found test.sh: 9: Bad substitution 所有的赋值好像看上去都已经可以,就是报 not found...

by china_u - Shell - 2010-11-15 16:43:54 阅读(5398) 回复(3)

a=( 12 23 34 4444 544445 56 44444) 想把以4开头的且全是4的数组元素等长度的替换成别的字符,表达式怎么写? 比如:把所有以4开头的且全是4的数组元素替换成A,则数组a替换后为:a=( 12 23 34 AAAA 544445 56 AAAAA) 在看ABS的echo ${a[@]/#4/A}的表达式时,想到这个问题,想用此类型的表达式实现,但这个表达式只能把开头是4的数组元素的第一个字符给替换掉,不符合要求。 尝试过echo ${a[@]//#4/A},但没有效果,这类表达式...

by zcsgamer - Shell - 2010-01-01 21:02:53 阅读(2108) 回复(9)