作者lay911225 (藍調人生。)
看板Linux
標題[問題] 關聯式陣列建立
時間Sun Sep 25 14:59:22 2022
HI 大家好
我有個檔案是長這樣 存成test.tmp
AAA 100
BBB 200
CCC 300
我想要建個array 存這些資訊, 我查了一下是叫關聯陣列? 索引是 AAA,BBB... 值是
100,200...
declare -A index
while read line
do
index[`echo $line | awk '{print $1}'`]=`echo $line | awk '{print
$2}'`
done < test.tmp
我使用下列的程式驗證我的內容
for i in ${!index[@]}
do
echo "index $i: ${index[i]}"
done
linux
發現值都沒有寫進去
想請教到底我哪裡寫錯QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.39.99 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Linux/M.1664089165.A.322.html
※ 編輯: lay911225 (1.200.39.99 臺灣), 09/25/2022 15:00:01
※ 編輯: lay911225 (1.200.39.99 臺灣), 09/25/2022 15:00:26
※ 編輯: lay911225 (1.200.39.99 臺灣), 09/25/2022 15:00:51
※ 編輯: lay911225 (1.200.39.99 臺灣), 09/25/2022 15:01:31
1F:噓 sleepylizard: 你沒寫錯,驗證用的程式碼第三行 echo "index $i: 09/25 15:29
2F:→ sleepylizard: ${index[$i]}" 09/25 15:29
3F:→ sleepylizard: 抱歉按錯成噓 等等補推 09/25 15:29
4F:推 sleepylizard: 補推 09/25 15:33
5F:推 goldie: for i in 後面的 "${!index[@]}" 用雙引號包起來看看 09/25 16:37
6F:→ lay911225: 感謝!!我就少了一個$沒錯~ 09/26 10:09
7F:推 Typebrook: 其實不需要用 awk 讀資料啦, read field1 field2 就行 10/01 19:34