これが私のシナリオです。 txtファイルがあります。電子メールADD.txt。すべての行にメールIDが含まれています。
[email protected]
[email protected]
[email protected]
私のフォルダにファイルがあります。
abc.pdf
def.pdf
hij.pdf
など。
最初のIDに最初の添付ファイルを含む電子メールを送信するスクリプトが必要です。次に、2番目の添付ファイルを含む2番目のIDで別の電子メールを送信します。
電子メールIDと添付ファイルの両方がアルファベット順に保存されます。保存されたメールIDと添付ファイルの数は同じです。
提案してください。
私はjesse_bからこのアイデアを得ましたが、電子メールIDごとに異なる添付ファイルを含めません。
#!/bin/bash
file=/location/of/emailAdd.txt
while
read -r email;
do
#printf '%s\n' 'Hello, world!' | sudo mail -s 'This is the email subject' "$email"
done < "$file"
ベストアンサー1
シェルはグローバルをアルファベット順に拡張するので、添付ファイルを繰り返して受信者を抽出して開始する方が簡単になると思います。スクリプトは次のとおりです。
#!/usr/bin/env sh
line=1
for i in *.pdf
do
echo "$i"
recipient="$(awk -v line="$line" 'NR==line' emailADD.txt)"
if [ -n "$recipient" ]
then
printf "recipient: %s\n" "$recipient"
line=$((line+1))
printf '%s\n' 'Hello, world!' | echo mail -s 'This is the email subject' -a "$i" "$recipient"
fi
done
echo
実際にコマンドを実行するには削除しますがmail
、必要なタスクが実行されていることを確認するには、まずコマンドを実行してみてください。