awk - 하나의 입력으로 "example"과 "EXAMPLE"이라는 단어를 유지합니다.

awk - 하나의 입력으로 "example"과 "EXAMPLE"이라는 단어를 유지합니다.

특정 단어가 포함된 고객만 유지하려고 합니다. 이것은 예이다

< newname.txt awk 'BEGIN {FS=","} $7~/USA|United States/' > usa.txt

내가 가진 문제는 그들이 자본 이기 때문에 수출하지 않을 것이라는 usa것 입니다. 동일한 단어를 대문자/소문자로 여러 번 쓰지 않고 이 명령을 실행하려면 어떻게 해야 합니까?UNITED STATESUnItEd StAtEs

답변1

tolower또는 다음을 사용하여 속일 수 있습니다 toupper.

awk 'BEGIN {FS=","} tolower($7)~/usa|united states/'

또는

awk 'BEGIN {FS=","} toupper($7)~/USA|UNITED STATES/'

답변2

IGNORECASE 플래그(!=0)를 사용하면 모든 정규식의 대소문자를 무시할 수 있습니다. 적어도 그것은 지루했다.

요청한 대로: 예

echo "eXaMpLe"|awk '{IGNORECASE=1}
/example/ { print $0; }
'
eXaMpLe

관련 정보