RIS, как вариант, можно использовать ripmime: sudo apt install ripmime
С одним из файлов из архива для примера (файл лежит по пути /папка_пользователя/test/):ripmime -i ~/test/6514253442910260 -d ~/test/6514253442910260
Результат: в каталоге ~/test, где лежал исходный файл, создается подкаталог 6514253442910260, в котором 4 файла (в т.ч. и вложение XLSX. В сущности дальше все зависит от того, что именно Вы хотите сделать. Проблема в том, что во многих "письмах" вложения могут называться одинаково. При извлечении этот момент необходимо учитывать, - имя каждого файла должно быть уникальным. Например, таким способом можно организовать поиск всех файлов в каталоге, имена которых состоят из цифр:find ~/test -type f -regextype posix-egrep -regex ".*/[0-9]*"
Если у Вас к ним еще имеется расширение *.eml, то находит так: find ~/test -type f -regextype posix-egrep -regex ".*/[0-9]*.eml"
Вот таким кодом можно распаковать все найденные файлы в подкаталоги с аналогичными файлам именами, через точку к именам подкаталогов будет дописано .files: find ~/test -type f -regextype posix-egrep -regex ".*/[0-9]*" -exec ripmime -i {} -d {}.files \;
Исходя из последнего кода - остается только найти желаемые вложения, и перекопировать их в желаемый каталог (каталог, в который копируем, должен существовать; в примере - это /папка_пользователя/test/attach): find ~/test -type f -regextype posix-egrep -regex ".*(xls|xlsx)$" -exec cp {} ~/test/attach/ \;
После этого можно удалить все созданные буферные каталоги, чтобы не занимали место, например таким образом: find ~/test -type d -name "*.files" -exec rm -rf {} \;
Резюмируя: вместо ~/test подставьте свой путь к файлам eml (папка, в которой подпапки, в которых eml, к примеру...), и выполните последовательно такие команды:
#создать папку, куда будем складывать найденные файлы
mkdir -p ~/myoutput
# найти все файлы [цифровое имя] в каталоге ~/test и распаковать их в подкаталоги ~/test/[цифровое имя].files/
find ~/test -type f -regextype posix-egrep -regex ".*/[0-9]*" -exec ripmime -i {} -d {}.files \;
# найти все файлы *xls и *xlsx в подкаталогах каталога ~/test и скопировать их в каталог ~/myoutput:
find ~/test -type f -regextype posix-egrep -regex ".*(xls|xlsx)$" -exec cp {} ~/myoutput/ \;
# найти все подкаталоги вида [цифровое имя].files/ в каталоге ~/test и удалить их:
find ~/test -type d -name "*.files" -exec rm -rf {} \;
Или модифицируйте данные команды применительно к своему случаю.