Shell 区分大小写
我的CSV文件如下>>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
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
第二种解决方案:或使用GNUawk
使用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,是否给出了正确的结果?它对我来说很好。我看到了第三种选择,它应该对我有用。。。请看一看…>>