if cat A A B | sort | uniq -c | egrep -e '^[[:space:]]*2[[:space:]]' > /dev/null; then
echo "A has lines that are not in B."
fi
Если вы не перенаправите вывод, вы получите список всех строк в A, которых нет в B (за исключением того, что каждая строка будет иметь 2
впереди, если она). Это зависит от того, являются ли линии в A уникальными, а строки в B уникальными.
Если это не так, и вы не заботитесь о подсчете дубликатов, то относительно просто преобразовать каждый файл в список уникальных строк, используя sort
и uniq
.