我试图只保留包含某些单词的客户。这是一个例子
< newname.txt awk 'BEGIN {FS=","} $7~/USA|United States/' > usa.txt
我遇到的问题是,如果他们有usa
,UNITED STATES
那么UnItEd StAtEs
他们就不会出口,因为他们是首都。如何运行此命令而不用大写/小写多次写入相同的单词。
答案1
tolower
你可以尝试使用or来欺骗它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