Я создал ниже сценарий для присоединения файла CSV. Файл генерируется, но его обрезание заголовка / столбца имя CSV неправильно, а также есть еще один файл, который прикрепляется к электронной почте, а именно «ATT0001.txt» с каждым письмом. Что-то не так, что вы могли бы узнать здесь?
(
echo "From:"$1;
echo "To:"$2;
echo "Subject:"$3;
echo "MIME-Version: 1.0";
echo "Content-Type:multipart/mixed; boundary=\"B835649000072104Jul07\"";
echo "--B835649000072104Jul07";
echo "Content-Type: text/html; charset=\"UTF-8\"";
echo "Content-Transfer-Encoding: 7bit";
echo "Content-Disposition: inline";
echo "";
echo "$4";
echo "--B835649000072104Jul07";
echo "Content-Type: text/csv";
echo "Content-Transfer-Encoding: base64";
echo "Content-Disposition: attachment; filename=\"$5\"";
base64 "$5"
echo "--B835649000072104Jul07";
) | sendmail -t
Вам нужно уйти & amp; по причине особый характер. И для этого нужно два прохода.
Использование: 1. sed 's|Hi\&|Hi\&|g' yourfile.xml. Это даст:
<!--This is an xml document for test-->
<a><!--This is root node-->
<b>
<c>Hi&Welcome</c>
</b>
<d>Hello & How are you?</d>
</a>
Второй проход будет: sed 's|Hello\ \&| \Hello\ \&|g' test.xml. Производит: <!--This is an xml document for test-->
<a><!--This is root node-->
<b>
<c>Hi&Welcome</c>
</b>
<d> Hello & How are you?</d>
</a>
Конечно, используйте переключатель -i, чтобы сделать его permenant. Еще один расширенный способ, основанный на комментарии @terdon ниже:
sed -e 's/Hello &/Hello \&/' -e 's/Hi&/Hi\&/' filename.xml