Попробуйте imapsync
наhttps://imapsync.lamiral.info/(Также доступно в AUR ). Он может легко переносить электронную почту между любыми двумя серверами imap. Он официально поддерживает большинство почтовых серверов и большинство ОС. (включая iRedMail, Gmail и Ubuntu)
Основное использование:imapsync --host1 imap.host1.com --user1 user@example.com --password1 P@ssw0rd --host2 imap.host2.com --user2 user@example.com --password2 P@ssw0rd
.
скрипт tcsh, который можно запустить с помощью " tcsh script.csh"
#script.csh
egrep -v '==>|ID' *.matrix | sort -k2,2 -k1,1 | sed -e's/\.counts.matrix:/ /g' | sort -k2,2 -u | awk '{printf(" %s 0.0\n",$2)}' > allIDs.txt
foreach xx ( ` ls -1d *.matrix ` )
set yy = ` echo $xx | sed -e's/matrix/matrix.tmp/g' `
cat $xx allIDs.txt | xargs -L1 | sort -k1,1 -k2,2gr | awk 'BEGIN {last="xxx"} { if ( $1 != last ) printf(" %s\n",$0) ; last=$1}' > $yy
end
( echo ' ID '; ls -1d *.counts.matrix.tmp | sed -e's/.counts.matrix.tmp//g' | sort -k1,1 ) | xargs | sed -e's/ / /g' -e's/ID / ID /g' > table.txt
egrep -v '==>|ID' *.matrix.tmp | sort -k2,2 -k1,1 -k3,3gr | sed -e's/.counts.matrix.tmp//g' | awk 'BEGIN {last="xxx"} { if ($2!=last) { if (last != "xxx") printf("\n"); printf("%s ",$2);} printf("%s ",$3); last=$2} END{printf("\n")}' >> table.txt
unset xx yy
помещает вывод в файл "table.txt", но форматирование не очень хорошее. Записывает только максимальное из нескольких значений. Также создает ненужные файлы «.matrix.tmp» в качестве промежуточных звеньев. Быстрый сценарий, который может выполнять свою работу, но не самый лучший.
Также предполагается, что имена файлов соответствуют заголовкам столбцов в выходном файле.