Как следует из комментариев, проблема, скорее всего, заключается в пробелах или возвратах каретки. Любой из следующих способов должен помочь:
$ (sort -n A B) | sed -E 's/[^[:alnum:]]+$//' | uniq -d
$ (sort -n A B) | tr -d '\r ' | uniq -d
Некоторые версии GNU sed используют -r
для получения расширенных регулярных выражений. tr
, конечно, проще, но и более жестоко, поскольку удаляет символы независимо от того, стоят они в конце строки или нет.
Если у вас есть расширения perl, вы можете использовать отрицательный просмотр вперед.
grep -P '^.{0,2}$|^.*(?!bak)...$'
Для сопоставления строки, не заканчивающейся на bak