Commentaires dans une commande bash multi-ligne

Ce fichier de script BASH à une seule commande est difficile à comprendre, donc je souhaite écrire un commentaire pour chacune des actions:

echo 'foo' \ | sed 's/d/a/' \ | sed 's/e/b/' \ | sed 's/f/c/' \ > myfile 

(Sed n'est qu'un exemple, en fait, c'est un mélange de greps et de trs et awks)

Je détestais avoir à dupliquer des lignes, ou avoir chaque commentaire loin de la ligne à laquelle il s'applique.
Mais, en même temps, BASH ne semble pas permettre des commentaires "en ligne".

Une façon élégante de résoudre ce problème?

Mettez les tuyaux en bout de ligne avec les commentaires après:

 $ 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 

Si vous rencontrez cette question en regardant comment faire une commande multiligne non- pipeline:

 $ 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` 

À moins que vous ne fassiez quelque chose de vraiment pervers comme l'automatisation des commentaires, je ne vois pas une raison de préférer cela sur la réponse de Mikel pour un tuyau, mais si vous vouliez vraiment:

 $ 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` 

ou:

 $ 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

Eh bien, je préfère cette façon,

 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/' }