NR>NRMIN{
if($3 == "Leu") {
if($4 == "CD1" || $4 == "HD11" || $4 == "HD12" || $4 == "HD13") {
next;
}
}
elseif($3 == "Val") {
if($4 == "CD1" || $4 == "HD11" || $4 == "HD12" || $4 == "HD13") {
next;
}
}
else {
print;
}
}
我打算有选择地打印空格分隔文件的行。
请告诉我上述代码在gawk -f FILE_Modifier.awk NRMIN = 90 FILE > NEWFILE
错误消息
gawk: FILE_Modifier.awk:7: elseif($3 == "Val") {
gawk: FILE_Modifier.awk:7: ^ syntax error
gawk: FILE_Modifier.awk:12: else {
gawk: FILE_Modifier.awk:12: ^ syntax error
答案 0 :(得分:1)
没有CASE(OP)
。无论如何,您可以将脚本重写为:
elseif
不要使用所有大写变量名来避免与内置名称发生冲突。除非您有特殊原因,否则请使用awk -v nrmin=90 '(NR > nrmin) && !(($3 ~ /^(Leu|Val)$/) && ($4 ~ /^(CD1|HD11|HD12|HD13)$/))' file
预先设置变量。