讀取一個文件,把每一行賦值給一個數(shù)組的變量,然后用for循環(huán)打印出來
代碼如下:
#!/bin/sh
i=1
SUM=`sed -n '$=' tmp.txt` #計算文件的總行數(shù)
echo "$SUM"
while read line
do
arr[$i]="$line"
i=`expr $i + 1`
done < tmp.txt
echo "$i"
i=1
for i in `seq $SUM` ;do
echo "${arr[$i]}"
done
附:shell數(shù)組補(bǔ)充知識
一、聲明數(shù)組
1)array[key]=value # array[0]=one,array[1]=two
2)declare -a array # array被當(dāng)作數(shù)組名
3)array=( value1 value2 value3 ... )
4)array=( [1]=one [2]=two [3]=three ... )
5)array="one two three" # echo ${array[0|@|*]},把a(bǔ)rray變量當(dāng)作數(shù)組來處理,但數(shù)組元素只有字符串本身
二、訪問數(shù)組
1)${array[key]} # ${array[1]}
三、刪除數(shù)組
1)unset array[1] # 刪除數(shù)組中第一個元素
2)unset array # 刪除整個數(shù)組
四、計算數(shù)組的長度
1)${#array}
2)${#array[0]} #同上。 ${#array[*]} 、${#array[@]}。注意同#{array:0}的區(qū)別
新聞熱點
疑難解答