Як розбити великий + + 4 ГБ файл на менші файли розміром близько 500 Мб .
І як я знову їх збираю, щоб отримати оригінальний файл?
Як розбити великий + + 4 ГБ файл на менші файли розміром близько 500 Мб .
І як я знову їх збираю, щоб отримати оригінальний файл?
Відповіді:
Можна використовувати спліт і кот .
Наприклад щось подібне
$ split --bytes 500M --numeric-suffixes --suffix-length=3 foo foo.
(де ім'я вхідного файлу foo
і останній аргумент - вихідний префікс). Це створить файли, як foo.000 foo.001
...
Ця ж команда з короткими параметрами:
$ split -b 100k -d -a 3 foo foo
Ви також можете вказати "--line-bytes", якщо ви хочете, щоб він розділився на межі рядків, а не просто точну кількість байтів.
Для повторної збірки створених фрагментів ви можете використовувати, наприклад:
$ cat foo.* > foo_2
.
Ви можете порівняти результат за допомогою:
$ cmp foo foo_2
$ echo $?
(яка повинна виводити 0)
Крім того, ви можете використовувати комбінацію знаходження / сортування / xargs, щоб повторно зібрати шматки:
$ find -maxdepth 1 -type f -name 'foo.*' | sort | xargs cat > foo_3
man split cat md5sum
cat foo.{000..NNN}
де NNN
є останній очікуваний шматок. Таким чином ви отримуєте повідомлення про помилку, якщо одна з деталей відсутня. Але зауважте, що -d
отримання числових суфіксів є специфічним для розділення GNU; на інших платформах ви повинні зробити з foo.aaa
, foo.aab
і так далі
split
КБ = 1000, К = 1024, МБ = 1000 * 1000, М = 1024 * 1024 і т.д.
... cat > foo_3
бути ... cat >>foo_3
?
rar
і 7zip
часто використовуються для того, щоб зробити такі розщеплення простіше зібрати крос-платформу
Ви також можете це зробити за допомогою диспетчера архівів, якщо ви віддаєте перевагу графічний інтерфейс. Подивіться у розділі "Зберегти-> Інші параметри-> Розділити на томи".