Hi Damian, > echo "$i" | sed -e 's%[[./*$^\\]%\\&%g' -e 's%.*%/^&:/d%' ... > sed: -e expression #1, char 18: unterminated `s' command
It's the first expression which is the problem. $ sed -e 's%[[./*$^\\]%\\&%g' </dev/null sed: -e expression #1, char 18: unterminated `s' command $ sed -e 's%.*%/^&:/d%' </dev/null $ That's using the sed 4.7-1 package on Arch Linux. It's because ‘[’ represents itself inside a character class unless it's followed by a colon, dot, or equals because then it looks like the start of a ‘[:digit:]’ or similar. Re-ordering works: $ sed -e 's%[.[/*$^\\]%\&%g' </dev/null $ -- Cheers, Ralph.