Есть несколько нюансов.
1. uniq -u (выводить только уникальные строки) сработает как положено только тогда, когда есть все файлы со всеми подстановками. Иначе будут выводится неиспользованные подстановки.
2. Для более точного получения пересечений используют join, но он требует двух входных файлов, что проблематично при обработке через конвейеры (pipe, |).
3. В данном случае, если нужно вывести файлы, удовлетворяющие тому или иному шаблону, воспользуйтесь egrep (grep с расширенным синтаксисом, который может принимать альтернативы) и параметром -v (показывающим файлы без вхождения).
Получается однострочник на Bash:
ls ~/1/back* | egrep -v '^[^_]*_(chel|mosc)-' | xargs rm -f