bash 如何删除数组中的元素
发表于 : 2012-03-11 14:18
我知道 lst 中有个值为 "hello" 的元素,下标不清楚,我要删除它!
代码: 全选
>0< ~$ lst=([0]=em0 [3]=em3 [5]=hello [100]=em100)
>0< ~$ echo "${lst[@]}"
em0 em3 hello em100
>0< ~$ for i in ${!lst[@]}; do [[ ${lst[$i]} == "hello" ]] && unset lst[$i]; done
>1< ~$ echo "${lst[@]}"
em0 em3 em100
>0< ~$
删除Array中值为hello的元素。自由建客 写了:我知道 lst 中有个值为 "hello" 的元素,下标不清楚,我要删除它!
代码: 全选
declare -a ARRAY=('how are you' 'hello' 'cmj' 'very ok');
echo ${ARRAY[@]}
ARRAY=( ${ARRAY[@]/hello/} )
echo ${ARRAY[@]}
#印象中似乎不会问这种问题:自由建客 写了:fnan,效果能达道。请问这个返回 1 是怎么回事?代码: 全选
>0< ~$ lst=([0]=em0 [3]=em3 [5]=hello [100]=em100) >0< ~$ echo "${lst[@]}" em0 em3 hello em100 >0< ~$ for i in ${!lst[@]}; do [[ ${lst[$i]} == "hello" ]] && unset lst[$i]; done >1< ~$ echo "${lst[@]}" em0 em3 em100 >0< ~$
自由建客 写了:Think1st, 你这段 bug 太多了
代码: 全选
$ declare -a ARRAY=('how are you' 'hello' 'cmj' 'very ok');
$ echo ${ARRAY[@]}
how are you hello cmj very ok
$ ARRAY=( ${ARRAY[@]/hello/} )
$ echo ${ARRAY[@]}
how are you cmj very ok