1.# **|uniq -c 1 1 1 9 1 36 1 69 1 76 2. 把这些值付给数组,然后调用数组元素运算。 这样的东西在shell写如何写 这个在perl用hash比较容易,在shell中不知道如何做了 [ 本帖最后由 huanghaojie 于 2009-2-18 15:04 编辑 ]
by huanghaojie - Shell - 2009-02-18 15:06:24 阅读(1986) 回复(5)
[color="#000000"]$ A=(a b c def)EybLinux联盟 EybLinux联盟 ==================================================EybLinux联盟 $ echo ${A[@]} //取全部元素EybLinux联盟 a b c defEybLinux联盟 EybLinux联盟 =================================================EybLinux联盟 EybLinux联盟 $ echo ${A[0]} //取第一个元素EybLinux联盟 aEybLinux联盟 EybLinux联盟 =================================================EybLinux联...
shell数组 Bash中还可以使用数组变量,其赋值有两种: (1) name = (value1 ... valuen) 此时下标从0开始 (2) name[index] = value 数组下标的范围没有任何限制,同时也不必使用连续的分量. -------------------------------------------------------------------------------- $ A=(a b c def) ================================================== $ echo ${A[@]} //取全部元素 a b c def =========================================...
#!/bin/bash A=(a b c def) echo ${A[@]} //取全部元素 echo ${A[0]} //取第一个元素 echo ${#A[@]} //取得元素3的长度 echo ${#A} //取得元素3的长度 echo ${#A[3]} //取得元素3的长度 A[3]=ghb //将第三个元素重新赋值 echo ${A[@]} $ echo ${A[@]} 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/11765/showart_312287.html
请教各位高手:
有文件tmp.txt:
jhgdhfgjhdfjkg => hdfghkjdhfg
hfghdjfhgkjdh => hfgjhdkjfhgkj
我欲将$1即第一个域中的字符循环读入数组a中
然后 echo "$a" 循环显示出来
用while read line
do
for i;do
a=awk '{print $1}'
echo "$a"
done
done<
我在脚本中: a=(1 2 3) a[4]=5 运行报错。 syntax error:"(" unexpected a[4]=5:not found 为什么啊?我看数组赋值就是这样啊? 但在根下直接输入这两个命令就能成功。
有如下数组: a="1 2 3 4" b="A D C B" c="E F G H" d="5 6 7 8" 如何能得到新数组: 1 A E 5 2 D F 6 3 C G 7 4 B H 8 求指教!
我有几个数组 ary = (a b c d) a=(1 2 3) b=(4 5 6) 我想进行如下操作: for i in ${ary[@]} do for j in ${$i[a]} //这里定义的$i是错误的。 请问如何能把$i变成a数组。 do echo $j done done
突然想用shell写个像结构体那样子的数组,就是在数组里放置好多字符串。 我自己试验了一下 str=( "IP address" "Local directory" "remote directory" ) 按照上面的做法,通过${#str} 得到的值是10,不是我想要的3。 这应该怎么才能获取正确的值。
请教各位前辈,想把多行记录的每一行都放到一个数组里进行保存的话要怎么做呢? 例如:[code]ls |grep ^a_.* a_1 a_2 a_3[/code]想把a_1,a_2,a_3放到一个数组里要如何写呢,谢谢大家。