我正在 try catch 一列的内容并在满足条件时将其打印出来。多行可以有有效条件。我想全部打印出来。
说明:
cat fileName
name1 Oct 20 user1@user.com
name2 Oct 21 user2@user.com
name3 Oct 19 user3@user.com
name3 Oct 21 user4@user.com
因此,如果生日与当前日期匹配,则获取用户的名字并将其发送到 file2,file2 将通过邮件发送给用户。这种功能可以很容易地为一个用户完成,但是我无法从多个用户那里总结出来。
所以今天,我的脚本应该将以下行写入文件。
生日快乐 Name1 NAme2
我将把它作为 HTML 发送到组 ID。
最佳答案
使用 date
和 %b %d
格式获取当前日期,然后使用 grep
提取匹配行。使用 cut
提取第一列。将结果分配给一个数组:
names=($( grep "$(date '+%b %d')" fileName | cut -f1 -d' '))
echo "Happy birthday ${names[@]}"
关于linux - 如何递归打印列的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33255935/