将第N行文本发送到列表中的第N个地址

Aldebaran

假设我有一个包含文本行的文件BOD和一个包含电子邮件地址的文件ADDR。如何将BOD的第一行发送到ADDR的第一个地址,将BODIES的第二行发送到ADDR的第二个地址,...直到最后一行?

我知道您可以使用以下命令在外壳中发送邮件

TEXT | mail ADDRESS

但是如何对每一行重复执行此任务?

阿瑟法玛鲁

使用以下变量,

text_file="$1"
mail_file="$2"

lines_in_text=$( cat "$text_file" | wc -l )
lines_in_addr=$( cat "$mail_file" | wc -l )

line_num=1

您可以编写以下例程:

send_mail() {
    while [[ "$line_num" -le "$lines_in_text" ]]; do
        text_line=$( sed -n "${line_num}p" "$text_file" )
        mail_line=$( sed -n "${line_num}p" "$mail_file" )
        echo "$text_line" | mail "$mail_line"
        line_num=$(( line_num + 1 ))
    done
}

send_mail   

然后,您可以使用脚本,如下所示:

./script BOD ADDR

编辑:执行此操作的另一种方法是将每个文本和地址文件读入单独的数组,从而每个索引包含相应文件的一行,如下所示:

#!/bin/bash

IFS=$'\n' read -d '' -r -a texts < "$1"
IFS=$'\n' read -d '' -r -a mails < "$2"

send_mail_alternate() {
    for (( i = 0; i < "${#texts[@]}"; i++ )); do
        echo "${texts[i]}" | mail "${mails[i]}"
    done
}

send_mail_alternate

在这里,创建的两个数组是textsmails"${#texts[@]}"表示array中的总行数texts,并且每一行都可以通过"${texts[i]}"访问"${mails[i]}",其中i从0开始向上移动,其中包含i+1指定文件的行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取用户发送到机器人的第n个活动

来自分类Dev

如何将命令错误输出发送到TCL中的变量(错误可能出现在第n位之后)?

来自分类Dev

编辑列表中的第N个项目

来自分类Dev

列表中的第n个值重复

来自分类Dev

列表的第n个元素

来自分类Dev

从列表列表中获取第n个列表

来自分类Dev

给定列表中每第n个项目的列表

来自分类Dev

根据第n个元素删除列表中的列表

来自分类Dev

如何使列表中的第n个元素成为自己的列表?

来自分类Dev

在文本列表中查找第n个字符

来自分类Dev

将函数应用于列表的第n个元素

来自分类Dev

从第ith个元素到第j个元素提取元素范围,直到列表中的第n个元素

来自分类Dev

如何在每个第n个索引处将字符串放入列表中?

来自分类Dev

如何将数组中的第n个项目带到数组中的第z个项目?

来自分类Dev

从Python中不同列表中的第n个项目中减去列表中的第n个项目

来自分类Dev

在第n个元素之后在Python列表中插入元素

来自分类Dev

编辑列表中每第N个项目的值

来自分类Dev

如何同时在列表中打印第n个元素?

来自分类Dev

使用numpy数组在列表中输出第n个值

来自分类Dev

fsharp从列表中获取第n个元素

来自分类Dev

列表到字典python中的第n个项目

来自分类Dev

如何在NetLogo中更改列表的第n个项目?

来自分类Dev

Racket,编写查找列表中第 n 个元素的函数

来自分类Dev

在 Excel 列表中查找第 n 个匹配项

来自分类Dev

删除列表的第n个元素

来自分类Dev

CSS div第n个子元素,每第2个和第3个文本加粗

来自分类Dev

wget将请求发送到文本文件中的URL列表

来自分类Dev

如何在每个第 n 个矩阵之后将列表中的矩阵插入到不同的矩阵列表中?

来自分类Dev

如何在Scala中将第n个和第(n + 1)个元素折叠到新列表中?

Related 相关文章

  1. 1

    获取用户发送到机器人的第n个活动

  2. 2

    如何将命令错误输出发送到TCL中的变量(错误可能出现在第n位之后)?

  3. 3

    编辑列表中的第N个项目

  4. 4

    列表中的第n个值重复

  5. 5

    列表的第n个元素

  6. 6

    从列表列表中获取第n个列表

  7. 7

    给定列表中每第n个项目的列表

  8. 8

    根据第n个元素删除列表中的列表

  9. 9

    如何使列表中的第n个元素成为自己的列表?

  10. 10

    在文本列表中查找第n个字符

  11. 11

    将函数应用于列表的第n个元素

  12. 12

    从第ith个元素到第j个元素提取元素范围,直到列表中的第n个元素

  13. 13

    如何在每个第n个索引处将字符串放入列表中?

  14. 14

    如何将数组中的第n个项目带到数组中的第z个项目?

  15. 15

    从Python中不同列表中的第n个项目中减去列表中的第n个项目

  16. 16

    在第n个元素之后在Python列表中插入元素

  17. 17

    编辑列表中每第N个项目的值

  18. 18

    如何同时在列表中打印第n个元素?

  19. 19

    使用numpy数组在列表中输出第n个值

  20. 20

    fsharp从列表中获取第n个元素

  21. 21

    列表到字典python中的第n个项目

  22. 22

    如何在NetLogo中更改列表的第n个项目?

  23. 23

    Racket,编写查找列表中第 n 个元素的函数

  24. 24

    在 Excel 列表中查找第 n 个匹配项

  25. 25

    删除列表的第n个元素

  26. 26

    CSS div第n个子元素,每第2个和第3个文本加粗

  27. 27

    wget将请求发送到文本文件中的URL列表

  28. 28

    如何在每个第 n 个矩阵之后将列表中的矩阵插入到不同的矩阵列表中?

  29. 29

    如何在Scala中将第n个和第(n + 1)个元素折叠到新列表中?

热门标签

归档