超過一個字不工作時,我在這裏看到一個文件:awk的tolower函數會匹配每行
$更多的myfile.txt
傑克和吉爾上山。
我的問題是,爲什麼tolower的()不應用到第二個字, '吉爾',在這種情況下:
$ AWK「tolower的($ 0)〜/插孔/ & & /吉爾/ {打印FILENAME「:」$ 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()?你知道是否有一個簡單的方法來迫使$ 0在awk期間小寫嗎? – fooledbyprimes 2012-03-12 03:09:54
'awk'{$ 0 = tolower($ 0)}; ...'' – kev 2012-03-12 03:16:18
或'awk -vIGNORECASE = 1'...'' – kev 2012-03-12 03:17:46