According to Stephen Boyd on 12/18/2009 7:24 PM: >> Nope. You need either "\\015\\n" or '\015\n', since "\015" and "\n" >> are both >> undefined in portable shell. > > So, how about this? > > { > echo "X-Fake-Field: Line One"&& > echo "X-Fake-Field: Line Two"&& > echo "X-Fake-Field: Line Three"&& > git format-patch --stdout first | sed -e "1d" > } | sed -e "s/$/;/" | tr "'";"'" "'"\015"'"> patch1-crlf.eml Syntax error. "$/" is not defined, so the argument to sed is not portable. Then, following the tr, you have an unquoted ;, meaning you invoked 'tr "'"', followed by invoking the (non-existent) command '. > > Or maybe this? > > { > echo "X-Fake-Field: Line One"&& > echo "X-Fake-Field: Line Two"&& > echo "X-Fake-Field: Line Three"&& > git format-patch --stdout first | sed -e "1d" > } | sed -e "s/$/;/" | tr ";" "\\015"> patch1-crlf.eml Closer, but not there yet. "$/" is still not defined. Then, as a matter of style, '\' is more readable than "\\" for representing a backslash. So as long as we are shifting to '', we might as well do it everywhere in that line - write it like this: } | sed -e 's/$/;/' | tr ';' '\015' > patch1-crlf.eml and you should be set. -- Don't work too hard, make some time for fun as well! Eric Blake ebb9@xxxxxxx -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html