sed: -e 式 #1、文字 24: 終了しない "s" コマンド

sed: -e 式 #1、文字 24: 終了しない "s" コマンド

sedHTML文書で置き換える必要がある変数を使用してください。

私が使用するものは次のとおりです。

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_body1回の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"

関連情報