У меня есть файл CSV на хосте Linux, и он имеет 2 столбца, разделенных запятыми:1-й столбец - это адрес электронной почты, а второй - корпоративный адрес электронной почты. Второй столбец (электронная почта корпорации) может быть одним ИЛИ много корпоративных писем.

root@esm-pauth1 # cat owners_and_corps.csv`

kwolff@fordham.edu,osp
ayan@fordham.edu,fincenter
dyaun@fordham.edu,Cateringlc,RamHealth,fordhamfood
tyip@fordham.edu,Healthstudy,memoryhealth,psychidentity,sleepstudy,yddc

Как использовать awk , sed или любую подобную команду, чтобы отправить электронное письмо пользователю в первом столбце и уведомить его о корпоративном электронном письме во 2-м столбце (или, возможно, со 2-го по n-й столбец) в зависимости от того, как человек корпоративный письма владельца Имейте в виду, что корпоративные электронные письма в файле НЕ имеют @fordham.edu в конце

т.е. отправьте письмо на ayan@fordham.edu уведомив ее о корпоративной электронной почте fincenter@fordham.edu

т.е. отправьте письмо на dyaun@fordham.edu уведомив его о корпоративных электронных письмах Cateringlc@fordham.edu , RamHealth@fordham.edu , fordhamfood@fordham.edu

1 ответ1

0

Вы хотите что-то вроде

cat owners_corps.csv | awk -F, '{print "To: "$1;$1=""; print "Corp mails: "$0}'

Вы упомянули, что адреса корпорации не будут иметь адрес @ fordham.edu, но приведенный выше имеет, однако я не уверен, что это просто ошибка форматирования. Вы можете использовать что-то вроде следующего,

#!/bin/bash
while read line; do
    #Get the email from the first column
    email_to=$(echo $line|cut -d, -f1)
    #Get the list of corp emails from the second column until end,   strip white space,  add @fordham.edu to the last entry (Won't have comma) then add @fordham.edu to all others 
    corp_emails=$(echo $line |cut -d, -f2-|sed 's/\s//g; s/$/@fordham.edu/g; s/,/@fordham.edu,/g')
    echo "To: $email_to :: list of corp addresses: $corp_emails"
    #echo "List of corp addresses $corp_emails" | mail -s "Corp Address List" $email_to
done < owners_corps.csv

Зациклить файл и добавить @ fordham.edu ко всем адресам корпорации. Он будет повторять то, что отправит по умолчанию, но я включил в пример пробный канал электронной почты, который также был закомментирован, если вы хотите направить напрямую к почте.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .