我使用的腳本像下面awk中無法將值存儲到一個數組
SCRIPT
declare -a GET
i=1
awk -F "=" '$1 {d[$1]++;} {for (c in d) {GET[i]=d[c];i=i+1}}' session
echo ${GET[1]} ${GET[2]}
說明
的問題是外印刷的GET值不正確的值。 ..
我使用的腳本像下面awk中無法將值存儲到一個數組
SCRIPT
declare -a GET
i=1
awk -F "=" '$1 {d[$1]++;} {for (c in d) {GET[i]=d[c];i=i+1}}' session
echo ${GET[1]} ${GET[2]}
說明
的問題是外印刷的GET值不正確的值。 ..
我將你的問題理解爲「我如何在awk被調用的shell內使用我的awk腳本的結果」。事實是,這並不是微不足道的。您不希望能夠在shell中輕鬆地使用C程序或python腳本的輸出。和awk一樣,這是一種自己的腳本語言。
有一些解決方法。要獲得可靠的解決方案,請將結果從awk腳本以適當簡單的格式寫入文件,並從shell中讀取它們。作爲一種攻擊,你也可以嘗試使用$()
將awk的輸出直接準備到shell中。再加上與set
命令,你可以這樣做:
set -- $(awk <awk script here>)
然後用$1
$2
等,但你必須要小心從AWK輸出空間。
我不確定你在做什麼。這是一個shell腳本嗎?如果是這樣,你不能從awk之外訪問awk的內部變量。 – ALiX
你是對的我只使用shell腳本。但是如果我需要在awk語句之外使用awk變量,我該怎麼做。我腦中想到的一個選項是,我可以將該值存儲在shell腳本變量中的一箇中,如果是這種情況,我如何在awk語句中訪問shell腳本變量。謝謝 – User
我仍然不確定問題究竟是什麼。請你重新說明一下嗎?你到底想要發生什麼,什麼不是? – Levon