34.23 sed Newlines, Quoting, and Backslashes in a Shell ScriptFeeding sed (34.24 ) newlines is easy; the real trick is getting them past the C shell. The sed
documentation says that in order to insert newlines in
substitute commands, you should quote them with backslashes.
[Surround the commands with single quotes ( sed -e 's/foo/b\ a\ r/' Indeed, this works quite well in the Bourne shell, which does what I consider the proper thing (8.14 ) with this input. The C shell, however, thinks it is smarter than you are (47.2 ) , and removes the trailing backslashes (8.15 ) , and instead you must type: sed -e 's/foo/b\\ a\\ r/' Probably the best solution is to place your sed commands in a separate file (34.2 ) , to keep the shell's sticky fingers off them. - in net.unix on Usenet, 20 November 1985 |
|