Simplesmente: você está invocando sed
duas vezes.
Se você executar esses comandos em um terminal um após o outro, você terá dois conjuntos de saída. Seu script está apenas fazendo a mesma coisa em seu próprio shell.
Você pode usar {}
para agrupar comandos e colocar cada um em uma nova linha ou usar ;
, então todos os comandos agem no arquivo cumulativamente, chamando sed apenas uma vez:
#!/bin/bash
sed '{
1i Hee hee hee\n Ho Ho Ho\n
s/bob/Bob/g
}' ""
saída de ./script file
Hee hee hee
Ho Ho Ho
HRFJGEKGJHEJGKJVNEJGKJEG BOB BO B
GARY gARY gARY gary
FOG GARY Bob Bob Bob Gary gary
the the bird in the the bush!
LOL MATE!