Shell 区分大小写

Shell 区分大小写,shell,awk,Shell,Awk,我的CSV文件如下>> ABC XYZ 111 FRANCE GGG KKK 222 France HHH     666 France France     886 USA 当我运行命令时 $ awk -F',' '($4 ~ /FRANCE/) { print $4 }' test.csv 它告诉我 法国 只有 我只想让它读法国,法国,法国和法国必须在第四栏 我怎么能忽略区分大小写而读法国的第四名呢?你能试试下面的吗 awk 'tolower($NF)=="france"{print

我的CSV文件如下>>

ABC XYZ 111 FRANCE
GGG KKK 222 France
HHH     666 France
France     886 USA
当我运行命令时

$ awk -F',' '($4 ~ /FRANCE/) { print $4 }' test.csv 
它告诉我 法国 只有

我只想让它读法国,法国,法国和法国必须在第四栏


我怎么能忽略区分大小写而读法国的第四名呢?

你能试试下面的吗

awk 'tolower($NF)=="france"{print $NF}' Input_file
如果您有逗号分隔的输入文件,请尝试:

awk 'BEGIN{FS=","} tolower($NF)=="france"{print $NF}' Input_file
第二种解决方案:或使用GNU
awk
使用
IGNORCASE

awk 'BEGIN{IGNORECASE=1} $NF=="france"{print $NF}'  Input_file
或者,如果您有逗号分隔的输入文件

awk 'BEGIN{FS=",";IGNORECASE=1} $NF=="france"{print $NF}'  Input_file

在您试图使用字段分隔符的文件中,“
”、“
”(例如,
-F’、“
)的位置在哪里?您给出的所有4种解决方案都没有结果。。awk'BEGIN{FS=“,”IGNORECASE=1}$4==”法国“{print$4}”test.csv awk'BEGIN{IGNORECASE=1}$4==”法国“{print$4}”test.csv awk'BEGIN{FS=“,”法国“{print$4}”test csv awk'BEGIN{FS=“,”法国“}tolower 4=”FRA{print$4}”test csv等等。。事实上,我之前尝试了很多,但从互联网上什么都没有得到。。。总结是法国必须在第四栏。。。awk不得读取第1列。如果我写的是France/France/France,它必须读所有类似于“grep-I”的frane,但只在第4列…@CorOmnes,是的,它没有读第1列。PS:我在用macterminal@CorOmnes,是否给出了正确的结果?它对我来说很好。我看到了第三种选择,它应该对我有用。。。请看一看…>>