2

У меня есть система Linux (Kubuntu) с большим (~ 20 ГБ) файлом, с которым я хотел бы связываться. В частности, я хочу скопировать все содержимое другого большого файла (~ 12 ГБ) в середину этого файла и сохранить биты файла, которые не будут перезаписаны.

Вот что я хочу, чтобы текст между каналами представлял содержимое файла:

До:

outfile: |abcdefghijklmnopqrstuvwxyz|
infile:  |123456789|

После:

outfile: |abcdef123456789pqrstuvwxyz|
(infile is here ^^^^^^^^^)

Я попробовал это:

dd if=infile of=outfile seek=162

(162 - это количество секторов, которые я хочу компенсировать в outfile)

Но вот что случилось:

outfile: |abcdef123456789|
(missing part of outfile ^)

Каков наилучший способ сделать это?

1 ответ1

5

Вам нужно указать conv = notrunc to dd. Из справочной страницы

Любой обычный выходной файл усекается, если не указано значение преобразования notrunc. Если начальная часть выходного файла ищется мимо (см. Операнд oseek), выходной файл усекается в этой точке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .