0
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
Awk If-Elseif-If 블록
오류 메시지
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
'오류가 발생했습니다'라고 말하지 않고 질문에 오류 메시지를 포함시킨 경우 매우 유용합니다. ** 정말로 변수 할당'NRMIN = 90'의 중간에 공백을 두었습니까? ** else와'if '사이에 공백을 두지 않았습니까? –
두 단어를 사용하십시오 : else if. awk는'elif' 나'elsif' 나 그 변형을 지원하지 않습니다. 'if ($ 3 == "Leu")'에 대한 블록은 아무 것도 출력하지 않으며, 일단 구문을 수정하면'else if ($ 3 == "Val") 블록과 비슷하게 인쇄됩니다. MCVE ([MCVE])로 작업 중이거나 SOFTWARE를 감독하는 코드 일 가능성이 있으므로 코드를 최소화했기 때문일 수 있습니다. –
@EdMorton 문제가 해결되었습니다. 감사. – Frequency