당 두 개 이상의 단어를 일치시킬 때 작동하지 ToLower 함수 awk가.내가 여기에 본 파일이 라인
내 질문은 왜()이 경우, 두 번째 단어, '질'에 적용되지 않습니다 tolower를 :
$의 AWK 'tolower를 ($ 0) ~/잭/& &/질/{인쇄 파일 이름 ":"$ 0; } '* .txt
다음 작업은 모두 소문자로 유지하려고합니다.
$ awk 'tolower ($ 0) ~/jack/{print FILENAME ":"$ 0; } '* .txt
myfile.txt : 잭과 질이 언덕 위로 올라갔습니다.
$ awk 'tolower ($ 0) ~/jill/{print FILENAME ":"$ 0; } '* .txt
myfile.txt : 잭과 질이 언덕 위로 올라갔습니다.
$ awk 'tolower ($ 0) ~/jack/& &/Jill/{print FILENAME ":"$ 0; } '* .txt
myfile.txt : 잭과 질이 언덕 위로 올라갔습니다.
감사합니다.
흥미 롭. 그것은 작동하는 것, 감사합니다! 하지만 왜 각 단어에 tolower()를 계속 추가해야합니까?awk의 지속 기간 동안 $ 0을 소문자로 만드는 간단한 방법이 있는지 알고 계십니까? – fooledbyprimes
awk ($ 0 = tolower ($ 0)}; ... '' – kev
또는'awk -vIGNORECASE = 1 '...' ' – kev