Comments in a multi-line bash command
Put the pipes at the end of line with the comments after it:
$ echo 'foo' |
sed 's/f/a/' | # change first f to a
sed 's/o/b/' | # change first o to b
sed 's/o/c/' # change second o to c
abc
If you happen upon this question while looking to comment a non-pipeline multiline command:
$ echo 'foo' |
sed -e 's/f/a/' `: # change first f to a` \
-e 's/o/b/' `: # change first o to b` \
-e 's/o/c/' `: # change second o to c`
Unless you're doing something really perverse like automating commenting, I can't see a reason to prefer this over Mikel's answer for a pipe, but if you really wanted to:
$ echo 'foo' |
sed 's/f/a/' | `: # change first f to a` \
sed 's/o/b/' | `: # change first o to b` \
sed 's/o/c/' `: # change second o to c`
or:
$ echo 'foo' |
sed 's/f/a/' `: # change first f to a` |
sed 's/o/b/' `: # change first o to b` |
sed 's/o/c/' `: # change second o to c`
Source: http://unix.derkeiler.com/Newsgroups/comp.unix.solaris/2005-07/0991.html
Well, I prefer this way,
echo 'foo' | {
# change first f to a
# you can add more lines of comment on the command options
sed 's/f/a/'
} | {
# change first o to b
sed 's/o/b/'
} | {
# change second o to c
sed 's/o/c/'
}