후 나는 간단한 코드 두 개의 배열로 구성된 조각과 비교AWK 배열 - 유령 항목을 비교
// {
# Create an array
animals["goat"] = "4 legs"
animals["chicken"] = "2 legs"
animals["elefant"] = "4 legs"
for (animal in animals) {
print "Animal: " animal " has: " animals[animal]
}
zoo["lion"] = "4 legs"
zoo["leguana"] = "4 legs"
for (animal in zoo) {
if (animals[animal] != "2 legs") {
# do something
}
}
for (animal in animals) {
print "Again. Animal: " animal " has: " animals[animal]
}
}
경우 입력 파일 나던 문제가 있습니다.
문제는 if 문을 사용하여 for 루프에 있습니다. 갑자기 배열 "동물"두 가지 새로운 키가
Animal: chicken has: 2 legs
Animal: goat has: 4 legs
Animal: elefant has: 4 legs
Again. Animal: chicken has: 2 legs
Again. Animal: goat has: 4 legs
Again. Animal: elefant has: 4 legs
Again. Animal: lion has:
Again. Animal: leguana has:
주의 사항 : I 배열 "동물"에 다른 값을 "이 다리를"동일하지만 일어나고있는 것은이하지 않은 경우 단순히 비교하는 기대 , 사자는 가치없는 leguana. 왜 이런 일이 일어나는 걸까요? =! 값을 할당해서는 안되며 배열에 존재하지 않을 수도있는 키 값이 있는지 여부 만 확인하면됩니다. 배열에 존재하지 않을 수도있는 키가 배열에 키를 생성하는 특정 값을 가지고 있는지 확인하는 방법이 있습니까?
하지만 둘 다 할 수 있다면 대답은 아닙니다. 색인이 존재하는지 확인하고 두 개의 if 문 대신 해당 색인의 값을 확인하십시오. – Johnathan
https://www.gnu.org/software/gawk/manual/html_node/Boolean-Ops.html#Boolean-Ops –