[問題] 用script 讀檔然後做變數

看板Linux作者時間14年前 (2012/04/06 11:20), 編輯推噓2(205)
留言7則, 4人參與, 最新討論串1/1
PATH=$PATH export PATH cat ttest.dat | awk '{total = $1 + $2 + $3 + $4; printf "%d %d %d %d %d\n", $1, $2, $3, $4, total; system("echo " total)}' echo "$total" if ["$total" -le "20" ]; then pwd fi exit 0 ttest.dat內容 10 10 10 10 11 11 11 11 5 5 5 1 為什麼awk執行完後 我的total裡面就什麼都沒有了。 要怎麼修改我的pwd才會執行到? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 128.138.65.198

04/06 11:57, , 1F
awk的變數,shell變數,環境變數三者各有scope
04/06 11:57, 1F

04/06 12:06, , 2F
total沒有被初始化所以echo不出來
04/06 12:06, 2F

04/06 12:06, , 3F
而你想要的結果只有在awk中有效
04/06 12:06, 3F

04/06 12:13, , 4F
那我要怎麼修改呢?
04/06 12:13, 4F

04/06 12:20, , 5F
比較簡單的方法是將if那部份移到awk中去做
04/06 12:20, 5F

04/06 12:46, , 6F
你這個程式其實可以完全在 awk 中完成~
04/06 12:46, 6F

04/06 14:38, , 7F
ok thanks
04/06 14:38, 7F
文章代碼(AID): #1FVc4IgD (Linux)