Здравствуйте.
Задача: через dd перезаписать часть данных в середине текстового файла.
Имеется файл 1.txt с содержимым "1234567890abcde11111", размер 20 байтов.
Беру из /dev/zero например 3 раза по 1 байту и пишу с 4-кратным пропуском в 1 байт.
Последовательность команд такая:
$ echo "1234567890abcde11111" > 1.txt
$ dd if=/dev/zero of=1.txt bs=1 count=3 seek=4
3+0 записей получено
3+0 записей отправлено
3 байта скопировано, 0,000107337 s, 27,9 kB/s
$ hexdump -C 1.txt
00000000 31 32 33 34 00 00 00 |1234...|
00000007
$ cat 1.txt
1234
Т.е. по логике я ожидаю увидеть такую строку: "1234...890abcde11111". Т.е. должны перезаписаться только последовательность 567 и всё.
Но по итогу получаю "1234...". То есть после нулей файл обрезается.
Вопрос почему? И как сделать так, чтобы файл не обрезался?
Спасибо.