-1

while ループを使用して、以下のような内容を含む xyz.txt ファイルとファイルを読み取ります。

2 - info1 
4 - info2
6 - info3
9 - info4 

さらに、count -gt then y 値に一致する if 条件を使用しているため、メールが送信されます。if条件に一致するたびに直面している問題は、必要な電子メールを一度送信する場合、最後までファイルを読み取り、条件が一致する場合は次の行の出力をファイルに保存し、そのファイルをすべての情報とともに送信します。現在、数通のメールを受信して​​います。

私の質問が明確であることを願っています。条件が一致したら、最後までファイルを読み続けて情報を保存すると、return 関数を探していると思います。

count=`echo $line | awk '{print $3}'`
cnt=o
while read line
do
if [ "$count" -gt "$x" ]; then ---> This logic is working fine
cnt=$(( $cnt + 1)) --- > This logic is working fine
echo $line > info.txt  -----> In info.txt I want to store info in 1 go which ever matches condition.
export info.txt=$info.txt
${PERL_BIN}/perl $send_mail
fi
done < file.txt
4

2 に答える 2