![awk에서 전환할 수 있는 부울 값을 생성하는 방법은 무엇입니까?](https://linux55.com/image/94038/awk%EC%97%90%EC%84%9C%20%EC%A0%84%ED%99%98%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%8A%94%20%EB%B6%80%EC%9A%B8%20%EA%B0%92%EC%9D%84%20%EC%83%9D%EC%84%B1%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
bool
다른 프로그래밍 언어에는 일반적으로 or 유형이 있습니다 boolean
. 부울 유형 변수를 생성하고 not
연산자를 사용하여 이를 전환할 수 있습니다. 여러 번 전환하여 일련의 참, 거짓, 참, 거짓을 얻을 수 있습니다.
awk에는 부울 유형이 없습니다. 빈 문자열과 숫자 0만 false로 간주됩니다. 다른 모든 값은 true입니다. 이 경우 1, 3, 5번 라인에서 A 작업을 수행하고 2, 4, 6번 라인에서 B 작업을 수행하려면 어떻게 해야 합니까? 부울 유형 변수가 있고 간단히 다음과 같이 not
말할 수 있습니다.
답변1
바라보다awk '!a[$0]++'는 어떻게 작동하나요?
기본적으로 이것을 사용하면 0에서 1로, 1에서 0으로 가는 것이 a=!a
무효화됩니다 .a
당신은 테스트할 수 있습니다
ls | awk '{a=!a; if ( a ) printf "good %s\n",$0 ; else printf "bad\n";}'