Мне нужно получить список всех файлов, которые отличаются только регистром.
То есть, если у меня есть папка (с подпапками) с файлами:
one.txt
ONE.txt
two.txt
three.txt
three.TXT
four.txt
five/5.txt
five/6.txt
five/6.Txt
Я хочу немного магии bash, которая выплюнет:
one.txt
ONE.txt
three.txt
three.TXT
five/6.txt
five/6.Txt
ls -R | uniq -Di
должен сделать это за вас, предполагая, что ваш языковой стандарт сортирует заглавные и строчные буквы вместе. Если ваш локальный C - все ставки сняты.
export LC_ALL=C
Это ближе всего к тому, что вы хотите:
find . -type f | sort | uniq -iD | awk -F"\.\/" '{print $2}'