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

Edu*_*rez -1 bash shell-script

因此,假设我想删除重复行而不进行排序,就像在这个线程中一样,但我也想删除不区分大小写的重复行,而不事先将所有字符串转换为大写或小写,并保留第一个结果的大小写。我怎样才能做到这一点?

Ste*_*itt 6

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

\n
awk \'!x[tolower($0)]++\'\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n
$ awk \'!x[tolower($0)]++\' <<EOF\n\xc3\xa9CoLe\n\xc3\x89cole\n\xc3\xa9cole\n\xc3\x89COLE\nEOF\n\xc3\xa9CoLe\n
Run Code Online (Sandbox Code Playgroud)\n