bash grep string from text и отправьте электронное письмо - PullRequest
0 голосов
/ 25 августа 2018

У меня есть текстовый файл, как показано ниже (file.txt):

name1 1235 56321
name2 76721 90320
name3 7781 324389

Я хочу использовать bash, чтобы прочитать file.txt и отправить электронное письмо по адресу name1@gmail.com, name2 @ gmail.com, name3@gmail.com

Я пытался зациклить в файле, но не знаю, как просто выполнить поиск первого столбца в тексте, например,

for (i in file.txt){
    mailx {print $1}@gmail.com 
}

, есть ли способ, которым я могусделать цикл for, чтобы найти все первые столбцы в текстовом файле с помощью bash и отправить электронное письмо?

Ответы [ 2 ]

0 голосов
/ 25 августа 2018

Утилита cut может вам помочь.Кроме того, у вас неправильный синтаксис

for i in $(cut -f 1 -d " " file.txt)
do
    mailx $i@gmail.com 
done

TBH, вы также, вероятно, захотите сгенерировать какое-то предопределенное сообщение и передать его в mailx, чтобы оно не входило в запрос на ввод сообщения и т. Д.

0 голосов
/ 25 августа 2018

Вам ничего не нужно grep (поиск AKA).Вам просто нужно все содержимое файла, просто выберите первый столбец:

for name in $(cut -f1 -d' ' file.txt)
do
    mailx "${name}@gmail.com"
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...