檢索文件的第13列所有承租人的ASCII碼我寫這個劇本獲取ASCII碼?
awk -v ch="'" '{
for (i=1;i<=length(substr($13,6,length($13)));i++)
{cmd = printf \"%d\\n\" \"" ch substr(substr($13,6,length($13)),i,1) "\"" cmd | getline output close(cmd) ;
Number= Number " " output
}
print Number ; Number=""
}' ~/a.test
,但它不以正確的方式工作!我的意思是,它工作得很好,然後產生奇怪的結果!? 作爲一個例子,對於該輸入(假設它是列第13次)
CQ:Z:%8 %%%% 0 %%%% 9 %%%%:%%%%%%%%% %%%%%%%%%
我一定要得到這個
37 56 37 37 37 37 48 37 37 37 37 57 37 37 37 37 58 37 37 37 37 ... ............
但我有這個
37 56 37 37 37 37 48 48 48 48 48 57 57 57 57 57 58 58 58 58 58 ...............
,你可以在字符「0」後面出現第一個未命中計算(結果爲48)。
你知道我的代碼的哪個部分是對這個錯誤負責麼?
這太糟糕了, AWK(和gawk)沒有這個[POSIX'printf(1)'特性](http://pubs.opengroup.org/onlinepubs/009695399/utilities/printf.html)(見擴展描述末尾附近)在其內置的'printf'中。 – 2013-09-08 21:12:36