Предполагая, что в середине сообщений не может быть случайных заголовков, тогда это должно сработать:
cat * | grep '^From: ' | sort -u
Если в середине сообщений могут быть другие вводящие в заблуждение строки «От:», вам просто нужно убедиться, что вы получаете только первую подходящую строку из каждого сообщения, например:
for f in * ; do cat $f | grep '^From: ' | head -1 | sort -u ; done
Очевидно, вы можете заменить * в любой команде на другой глобус или список имен файлов.