所以,假设我想删除重复的行而不进行排序,如下所示这个线程,但我还想删除不区分大小写的重复行,而不预先将所有字符串转换为大写或小写,并保留第一个结果的大小写。我怎样才能做到这一点?
答案1
的一个变体您的参考问题中接受的解决方案将为您执行此操作:
awk '!x[tolower($0)]++'
我假设“不事先将所有字符串转换为大写或小写”意味着在运行上面之前不将它们转换,这将阻止保留第一个结果的大小写。这种方法保留了第一个匹配的情况:
$ awk '!x[tolower($0)]++' <<EOF
éCoLe
École
école
ÉCOLE
EOF
éCoLe