A maneira padrão (POSIX) é ter #n
no início do script. Eles precisam ser os dois primeiros bytes do script.
Isso impede o uso de um she-bang, que é usado apenas para scripts executados como sed -f the-script
(note que she-bangs não são POSIX e POSIX não especifica o caminho dos utilitários), mas como @Kusalananda disse, ao usar uma she-bang, você sempre pode fazer:
#! /path/to/sed -nf
Se você quiser criar um script executável sed
em sistemas que suportam she-bangs com argumentos (a maioria).
Observe que o #n
também funciona na linha de comando, como em:
sed '#n
s/foo/bar/p'
E você pode adicionar mais texto depois:
#no default output
s/foo/bar/p
Ou:
#nifty way to turn -n on
s/foo/bar/p
Na verdade, isso é algo para se ter em mente para evitar transformar -n
em erro. É uma boa ideia usar um espaço depois de #
nos comentários para isso (e para legibilidade).
# no, I don't want to turn -n on
s/foo/bar/