Exemplo com dd
:
$ cat data
insertion goes here: <...>
$ cat insert
ABC 123 XYZ
$ dd if=insert skip=4 count=3 of=data seek=22 bs=1 conv=notrunc
3+0 records in
3+0 records out
3 bytes transferred in 0.001 secs (2918 bytes/sec)
$ cat data
insertion goes here: <123>
O comando dd
que usei aqui pula 4 blocos no arquivo de entrada e depois lê 3 blocos. Os blocos são gravados no arquivo de saída depois de procurar 22 blocos nele. A saída não está truncada. Um bloco é um byte.