首页 > 解决方案 > 从文本中 bash grep 字符串并发送电子邮件

问题描述

我有一个如下的文本文件(file.txt):

name1 1235 56321
name2 76721 90320
name3 7781 324389

我想使用 bash 读取 file.txt 并将电子邮件发送到 name1@gmail.com 、 name2@gmail.com 、 name3@gmail.com

我尝试了文件中的循环,但不知道如何仅 grep 文本中的第一列,例如

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

有什么方法可以让我使用 bash 查找文本文件中的所有第一列并发送电子邮件?

标签: linuxbashtext

解决方案


您不需要grep(AKA 搜索)搜索任何内容。您只需要所有文件内容,只需选择第一列:

for name in $(cut -f1 -d' ' file.txt)
do
    mailx "${name}@gmail.com"
done

推荐阅读