Você pode dizer ao GNU sed para ler o script da entrada padrão com -f -
, -f
significando ler o script de um arquivo, e -
significando a entrada padrão como é comum com muitos comandos.
sed -f - "$IN" > "$OUT" << SED_SCRIPT
s/a/1/g
s/test/full/g
SED_SCRIPT
O POSIX sed também suporta -f
, mas o uso de -
para entrada padrão não está documentado. Nesse caso, você poderia usar /dev/stdin
em sistemas Linux (e parece que lembro que o Solaris também tem isso, mas não posso confirmar isso agora)
Usar <<-SED_SCRIPT
(com o prefixo '-') permitirá que o tag SED_SCRIPT
de fechamento seja indentado.