【发布时间】:2017-08-23 09:14:00
【问题描述】:
虽然我以前使用过命令提示符/终端,但我对 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
有什么想法吗?
【问题讨论】:
标签: bash if-statement awk cygwin substring