sed
HTML文書で置き換える必要がある変数を使用してください。
私が使用するものは次のとおりです。
cat $email_temp\
| sed 's/\$message_entry/Flex File Export completed successfully for'"$run_date"'./g'\
| sed 's/\$run_date/'"$run_date"'/g'\
| sed 's/\$flex_file_new_count/\'"$flex_file_new_count"'/g'\
| sed 's/\$exported_file_count/'"$exported_file_count"'/g'\
| sed 's/\$date_data/\'"$date_data"'/g'\
| sed 's/\$flex_file_old_count_data/\'"$flex_file_old_count_data"'/g' > $email_body
答え1
コメントで指摘したように@unxnut、コマンドにエスケープされた単一引用符が3つあり、\'
エスケープしないでください。したがって、sed
一致する閉じる一重引用符が見つからず、失敗します。
次のことを試してみてください(引用された変数$email_temp
と$email_body
1回のsed
呼び出しを使用)。
sed -e 's/\$message_entry/Flex File Export completed successfully for'"$run_date"'./g'\
-e 's/\$run_date/'"$run_date"'/g'\
-e 's/\$flex_file_new_count/'"$flex_file_new_count"'/g'\
-e 's/\$exported_file_count/'"$exported_file_count"'/g'\
-e 's/\$date_data/'"$date_data"'/g'\
-e 's/\$flex_file_old_count_data/'"$flex_file_old_count_data"'/g' "$email_temp" > "$email_body"