LINUX.ORG.RU

inplace concatenation


0

0

Если у меня есть два файла и я хочу объединить их - я должен дать команду
cat file1.txt file2.txt > file3.txt
при этом исходные файлы останутся и потребуется вдвое больше места, чем необходимо.

существует ли возможность сконкатенировать файлы так, чтобы исходные файлы исчезли, а остался только один общий файл?

Добавляя кусочки ко второму и отрезая от первого? ^)

Booster ★★
()
Ответ на: комментарий от ArsenShnurkov

Сплитим первый файл. Читаем кусок, грохаем его, добавляем прочитанное ко второму. ^) Скорее всего без велосипеда не обойтись.

Booster ★★
()
Ответ на: комментарий от Booster

Какой размерчик файлов?


конкретно сейчас они маленькие - ~по 100Gb,
но меня просто в принципе интересует есть такая возможность или нет.

ArsenShnurkov
() автор топика
Ответ на: комментарий от Booster

Скорее всего без велосипеда не обойтись.


Я вот не понимаю, на уровне каких-нибудь inode-ов, никак нельзя?
убираем запись о двух файлах, добавляем запись об одном и все.

ArsenShnurkov
() автор топика
Ответ на: комментарий от ArsenShnurkov

Если лезть на уровень фс, то может и можно, но не факт.

Booster ★★
()
Ответ на: комментарий от ArsenShnurkov

Ещё вариант, дописывать первый ко второму задом наперёд, попутно усекая первый. А затем обратить на нормальный порядок.

Booster ★★
()
Ответ на: комментарий от Booster

Я думаю самый правильный вариант - написать custom fs,
которая хранит эти файлы учитывая их специфику (то, что файлы никогда не меняются, имеют некую структуру и к ним обращаются по вполне опеределенным образцам и т.д.)

ArsenShnurkov
() автор топика

moreutils:sponge?

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.