Решил написать скрипт, который бы сравнивал выхлоп от emerge -NuDpv system с тем же, от world и показывал “пересечение” пакетов, т.е. именно те пакеты, которые уже есть в system, но зачем-то упомянуты в world. В итоге я застопорился на регулярке для обрасывания версии и с тем, как всё таки сравнить выхлоп с world. То, что ниже просто фильтрует emerge -NuDav system (без учёта [blocks]) до состояния списка /var/lib/portage/world.
emerge -NuDpv system &> buf ; grep ebuild buf | sed 's/^[^[].*//g' | grep -v ^$ | sed -e 's/\[ebuild[a-zA-Z\ ]*\]\ [^/]*\/\([^\ ]*\)\ .*/\1/g'
То же самое, только в несколько строчек
emerge -NuDpv system &> buf
# вырезаем до строк, содержаих "ebuild"
grep ebuild buf | \
# убираем строки, которые начинаются не с квадратной скобочки и затем убираем образовавшиеся пустые строки
sed 's/^[^[].*//g' | grep -v ^$ | \
# собссно вычленяем имя пакета
sed -e 's/\[ebuild[a-zA-Z\ ]*\]\ [^/]*\/\([^\ ]*\)\ .*/\1/g'