2
雖然我以前使用過命令提示符/終端,但我對AWK很新。使用IF語句時AWK語法錯誤
我有以下腳本,我正在創建基於國家代碼和州代碼的數據子集。但是我得到一個語法錯誤。
BEGIN{
FS = "\t"
OFS = "\t"
}
# Subset data from the states you need for all years
if ($5 == "IN-GA" || $5 == "IN-DD" || $5 == "IN-DN" || $5 == "IN-KA" || $5 == "IN-KL" || $5 == "IN-MH" || $5 == "IN-TN" || $5 == "IN-GJ"){
if (substr($17, 1, 4) == "2000"){
print $5, $12, $13, $14, $15, $16, $17, $22, $23, $24, $25, $26, $28 > "Y2000_India_sampling_output.txt"
}
}
在Cygwin,我指的是劇本,我運行的代碼下面的行,你立即看到語法錯誤:
$ gawk -f sampling_India.awk sampling_relFeb-2017.txt
gawk: sampling_India.awk:20: gawk if ($5 == "IN-GA" || $5 == "IN-DD" || $5 == "IN-DN" || $5 == "IN-KA" || $5 == "IN-KL" || $5 == "IN-MH" || $5 == "IN-TN" || $5 == "IN-GJ"){
gawk: sampling_India.awk:20: ^syntax error
有什麼想法?
謝謝@anubhava。這樣可行!。我好奇。如果我不想在2000年對它進行分類,並且刪除'&& substr($ 17,1,4)==「2000」' - 我應該獲取所有涉及相關狀態的數據嗎?儘管所有年份? –
是的,這是正確的 – anubhava