2013-03-05 111 views
0

在下面的阵列如何替换数组中的值?

ARR=(
"xxx" "xxxxxxxxxxxxxx" 
"xxx" "xxxxxxxxxxxxxx" 
"xxx" "xxxxxxxxxxxxxx" 
"xxx" "ssssssssssssss" 
"xxx" "xxxxxxxxxxxxxx" 
"xxx" "xxxxxxxxxxxxxx" 
) 

我需要xxxxxxxxxxxxxx

回答

5

使用参数扩展和替换:

ARR=("${ARR[@]/ssssssssssssss/xxxxxxxxxxxxxx}") 
+0

非常感谢你 – user2093552 2013-03-05 12:53:34

0

替换值ssssssssssssss只是将新的价值:

ARR[7]="xxxxxxxxxxxxxx" 

如果你不知道的“SSSS的位置。 ..“字符串,你可以交换整个数组:

i=0 
for item in ${ARR[*]} 
do 
     if [ "$item" == "ssssssssssssss" ] 
     then 
       ARR[$i]="xxxxxxxxxxxxxx" 
     fi 
     ((i++)); 
done 
+0

OK,但不知道该字段的ID :-( – user2093552 2013-03-05 12:18:08