sed
é orientado à linha e não é um ajuste natural para problemas com dados binários. No entanto, head
e tail
funcionarão:
inputprocess | filter1 | { head -c29999 ; echo -n "replacement" ; tail -c+100 ; } | filter2 | filter3 > result.txt
head -c29999
echos os primeiros 29.999 bytes a stdout. Em seguida, o texto de substituição é enviado para stdout. Em seguida, tail -c+100
ignora os próximos 100 bytes de entrada (os que você deseja substituir) e copia o restante para stdout.
Isso funciona assumindo que head
não lê mais do que precisa. Isso funciona sob o GNU head
. Em sistemas não-Linux, no entanto, pode ser necessário verificar se o comando head
é voraz.