У меня есть сценарий оболочки, который загружает файлы из почтовой папки серверов на устройства NAS, поэтому клиент имеет копии, сделанные локально с резервной копией.Извлечь тему электронной почты из файла через bash
Файлы сохраняются как 11469448248.H15587P19346.smtp.x14.eu_2, S Файлы. Я изменил расширение на стандартный формат .eml, чтобы почтовые клиенты могли читать их с диска.
for f in *.smtp.x14.eu_2,S; do
#sed "9q;d" $f
#tail -n+9 $f | head -n1
mv -- "$f" "${f%.smtp.x14.eu_2,S}.eml";
done
Как вы можете видеть, я пытался использовать СЕПГ и хвост команду, чтобы получить 9-ю строку из файла; проблема заключается в том, что субъект не всегда находится на 9-й строке, а имена файлов не говорят о его содержании.
Я пытаюсь получить имена файлов в понятном формате, поэтому я решил, что этот вопрос может оказаться полезным.
На п-й строки файла электронной почты является строкой, которая начинается с Темой: PD: субъект
Im пытаясь найти эту строку Фет избавиться от Темы: PD:, а остальное, как имя файла ne
Пожалуйста, быть более точным. Что именно вы хотите сделать? Если вещь, которую вы ищете, не всегда находится в 9-й строчке, вам нужно найти какой-то узор. –
Возможно, вы можете включить ссылку на определение формата или дать нам хороший пример. – Beta
Я редактировал вопрос, чтобы включить имя файла результата, которого я хочу достичь – adam