Legal Discovery - как искать в файлах.eml ключевые слова и копировать результаты в другую папку на macOS/Unix?

У меня есть почтовый сервер Kerio Connect, который сохраняет все свои электронные письма в относительно стандартной структуре папок почтового спула в виде необработанных файлов.eml. Мне было поручено выполнить поиск по ключевым словам в некоторых почтовых ящиках пользователя по ключевым словам и адресам электронной почты. Затем мне нужно скопировать найденные файлы в другую папку.

Структура папок будет примерно такой:

mail
  example.com
    user1
      INBOX
      Sent Items
      etc
    user2
      INBOX
      etc

Сложность заключается в том, что электронные письма, такие как файлы.eml, именуются в каждой папке с серийным номером - поэтому, если я найду электронное письмо в папке "Входящие" пользователя user1 с именем 00000123.eml, а другое электронное письмо в отправленных элементах с таким же именем будет иметь одно из следующих значений: ключевые слова в нем, я не хочу, чтобы одно скопировать поверх другого.

Мне также нужно выполнить поиск некоторых ключевых слов с учетом регистра, чтобы я мог искать "ключевое слово" и сопоставлять его по ключевым словам, ключевым словам и KEYWORD.

Я думаю, что следующая команда будет делать то, что я хочу, но я не уверен на 100%, и я запускаю это более ~100 ГБ файлов eml, поэтому я хочу убедиться, что все правильно, прежде чем оставить его для запуска,

grep -i -r -l -e "user1@example.com|anotheruser@example.com|keyword1|anotherkeyword|evenmore" /usr/local/kerio/mailserver/store/mail/example.com/user1/ | xargs -I{} rsync -Rv {} /Volumes/Data/Email\ Discovery/201706/user1/

По моим подсчетам, это будет делать поиск без учета регистра (-i) рекурсивно (-r), печатать только имена файлов (-l) и использовать регулярное выражение (-e), а затем передавать результаты в rsync, который будет рекурсивно копировать их в Папка назначения и (мы надеемся) сохраняют ту же структуру папок.

Есть ли более эффективный способ сделать это?

0 ответов

Другие вопросы по тегам