Есть гигантских размеров (порядка 125 Гб) текстовый файл, в первых 1000 строках которого нужно сделать замену, не перезаписывая остальные 10^9 или сколько там строк.
Вопрос: как это сделать sed'ом, а если не sed'ом, то чем?
Дело в том, что sed, судя по всему, в режиме -i тупо копирует файл строка за строкой, а под конец «магически» заменяет старый файл новым. Соответственно, если в sed сделать q, то файл оборвётся на той строке, на которой был сделан q, а если q не делать, то придётся ждать до посинения, пока sed героически перезапишет 150Гб на диске. Ну ок, предположим, что для дозаписи данных (а именно это, к сожалению, мне и нужно), так или иначе всё равно придётся перекорячить весь файл, но вот а если бы мне нужно было, скажем, символ B на символ А в первых 200-ах строках поменять - ведь для этого очевидным образом перезапись всего файла не требуется: достаточно лишь прочитать первые 200 строк и поменять один байтик на другой...