我面臨一個令人困惑的問題(至少對我而言)。我正在嘗試讀取一些CSV文件,然後提取一些值來做一些檢查和微積分。我正在使用awk來訪問文件並提取必需的字段。awk不能在bash腳本中工作
奇怪的一點是,awk語句正確運行在bash提示符下,但在腳本中運行時不起作用。作爲一個例子,我從bash提示符得到:
[email protected]:~/work$ awk -F\; '$1 == "21-08-2012" && $2 == "'17'" { print $3 }' niveles-rams.csv
2
但
nrams1=`awk -F\; '$1 == "'$fecha'" && $2 == "'$area'" { print $3 }' niveles-rams.csv`
echo $nrams1
不返回任何值。 CSV文件來自Excel中的窗口,所以也許可能有編碼問題,我猜?
您可以在以下網址
腳本validacio.bash和CSV文件感謝您的幫助和耐心
我建議你重新閱讀你最後一個問題的答案。 – Steve
我會的,謝謝。重點在於同一個awk語句在腳本中處理不同的輸入文件,但我試圖將所有文件保存爲UTF8,以避免由於使用Excel生成這些事實而導致問題。 – pacomet
請參閱http://cfajohnson.com/shell/cus-faq-2.html#Q24瞭解如何將shell變量的值傳遞給awk腳本,以及由@JacekDominiak在這裏發佈的答案。 –