删除重复行而不排序并忽略大小写

删除重复行而不排序并忽略大小写

所以,假设我想删除重复的行而不进行排序,如下所示这个线程,但我还想删除不区分大小写的重复行,而不预先将所有字符串转换为大写或小写,并保留第一个结果的大小写。我怎样才能做到这一点?

答案1

的一个变体您的参考问题中接受的解决方案将为您执行此操作:

awk '!x[tolower($0)]++'

我假设“不事先将所有字符串转换为大写或小写”意味着在运行上面之前不将它们转换,这将阻止保留第一个结果的大小写。这种方法保留了第一个匹配的情况:

$ awk '!x[tolower($0)]++' <<EOF
éCoLe
École
école
ÉCOLE
EOF
éCoLe

相关内容