$ 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...
$ array[1.2.3.4]=10 -bash: 1.2.3.4: syntax error in expression (error token is ".2.3.4") 我有多个ip,要进行赋值存到数组中,上面的方式不行,需要怎么赋值才行,请教
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[@]} 或者...
【小蜗牛五二无聊之作 】 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...
比方打印出所有的非空的元素以及下标。
我目前的方法是
[code]
a_len=${#a[@]}
for((count=0,i=0;count
RT.. 代码如下,我想把tmp里的内容转变成数组如,请问如何做? 谢谢 . $tmp输出的内容为: 2 5 6 [code] IFS="\n"; arr=($(echo $tmp)); echo ${arr[1]}; [/code]
大家好, 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 | ....
遇到一个奇怪的问题,如下是读取当前目录下的文件和目录,并把它存放到数组中, #!/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...
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},但没有效果,这类表达式...