У мене великий файл (8 Гб для прикладу). Як я можу розділити його на кілька частин, скажімо, 3 рівних частини, а після цього як їх об'єднати пізніше?
У мене великий файл (8 Гб для прикладу). Як я можу розділити його на кілька частин, скажімо, 3 рівних частини, а після цього як їх об'єднати пізніше?
Відповіді:
Існує кілька способів досягти цього. Почнемо з основних.
Скажемо, у мене є зображення і його занадто великий (10 Мб). Все, що я роблю, це:
split --bytes=1M /path/to/image/image.jpg /path/to/image/prefixForNewImagePieces
а потім, щоб скласти це, я використовую кішку:
cat prefixFiles* > newimage.jpg
Наприклад:
Припустимо, що я всередині папки, де знаходиться зображення:
split --bytes=1M myimage.jpg new
якщо зображення знаходиться всередині каталогу, який називається images, ви також можете зробити це:
split --bytes=1M images/myimage.jpg new
Якщо зображення знаходиться всередині каталогу / home / cyrex / images, ви можете зробити це:
split --bytes=1M /home/cyrex/images/myimage.jpg new
(У всіх випадках вище він буде розділений myimage.jpg
на 1 МБ шматків і префікс імені частин зі словом новим. Так вони будуть виглядати newaa
, newab
, newac
, newad
...)
Якщо ви розділяєте текстовий файл і хочете розділити його на рядки, ви можете зробити це:
split -l 1000 book.txt new
Який розділить текстовий файл на вихідні файли по 1000 рядків кожен. Це ще один спосіб розділити файл і в основному використовується для текстових файлів, таких як журнали, sql звалища, CSV файли тощо.
Потім я їх зливаю
cat new* > newimage.jpg
Це один спосіб. Можна навіть змінити розмір розрізаних шматків. Просто змініть частину, яка говорить --bytes=1M
на --bytes=1K
1 кілобайт або 1G для гіга, або іншу цифру, наприклад, --bytes=4K
на 4 КБ.
Ще один спосіб - це варіант стиснення в гуї Наутілуса. Це дає можливість розділити файл або файли, які ви хочете стиснути, на менший розмір мегабайт. Його просто і легко.
Якщо припустити, що у вас є ISO-зображення, ubuntu.iso
ви можете це зробити:
7z a -v5m -mx0 ubuntu.7z ubuntu.iso
Це створить файли розміром 5 Мб з ubuntu.iso
. -v5m
Є розмір тому , так що ви можете змінити його на 10, 12, 1, 3 , а також м можуть бути змінені на K для кілобайт, і т.д .; -mx0
перемикач каже 7-Zip не використовувати без стиснення, тобто, просто розділити дані на частини.
Добувати просто робити
7z x ubuntu.7z.001
таким чином ви витягаєте перший файл і 7z починає витягувати з наступних файлів по порядку. Ви також можете зробити
7z e ubuntu.7z.001
що має ту саму дію.
Використовуючи split -b
відповідну кількість, ви можете отримати три штуки.
Кількість може бути:
size=$(wc -c <"file name")
one_third=$((size/3+1))
Щоб зібрати, використовуйте кіт
cat "file name"* > "file name"
Сторінки вручну допоможуть заповнити деталі.
split --number
можете дозволити split
обчислити кількість файлів для вас: askubuntu.com/questions/54579/…
Це популярна безкоштовна програма для розділення та рекомбінації файлів. Програма доступна на Windows, Linux та багатьох інших платформах.
HJSplit для Linux - це безкоштовний роздільник файлів для Linux з повним графічним інтерфейсом користувача. HJSplit підтримує розміри файлів понад 100 гігабайт, розділити, приєднатись / відновити, контрольні суми MD5, порівняти файли, "запустити без встановлення" і програма повністю портативна.
HJSplit для Linux не потрібно встановлювати, і це не залежить від будь-яких спеціальних бібліотек. Просто витягніть архів hjsplitlx.tar.gz у вибраний каталог та запустіть програму з файлового менеджера Linux або вікна терміналу. Можливо, вам доведеться відрегулювати дозволи файлу програми на "виконуваний файл".
Гном розколовся? http://gnome-split.org/
GNOME Split - це інструмент, який дозволяє розділяти файли та об'єднувати їх назад. Він написаний на Java та використовує інтерфейс користувача GTK + (завдяки проекту java-gnome). Мета полягає в тому, щоб запропонувати власну реалізацію подібних проектів, які можуть обробляти різні формати файлів (наприклад, Xtremsplit).
http://www.omgubuntu.co.uk/2010/08/split-large-files-easily-in-ubuntu-with-gnome-split/
ХОЗ - Hacha Open Zource v1.65 - http://hoz.sourceforge.net/
Від розробника:
OZ - це те, що ви б назвали "роздільником файлів". Формат файлу такий самий, як у форматі "Hacha", відомому спліттері в Іспанії та Latinamerica. HOZ - це відкритий та портативний C-реалізація сумісного розгалужувача "Hacha".
HOZ менший і швидший, ніж "Hacha".
btw, я використав "Z" isntead з "S" в "Zource", оскільки "hoz" - "серп" іспанською мовою, а оскільки "hacha" - іспанське слово для "ax" ...
Після встановлення ви можете використовувати GUI Hoz, ввівши ghoz
термінал. Операція настільки проста, що не потребує пояснень, однак додаткову інформацію можна отримати на сайті розробника.
Удачі!
На Java розроблена безкоштовна утиліта для розділення та злиття файлів. Це додаток невеликого розміру, який дозволяє користувачеві розділяти будь-який тип файлів менших розмірів у КБ, МБ або ГБ.
Він доступний для Linux, а також для Windows.
WoodCutter пропонує 3 способи об’єднання назад оригінальних файлів. WoodCutter створює файл злиття, який може бути оброблений програмою WoodCutter, щоб приєднати всі файли назад. Якщо в приймачі розділених файлів не встановлено WoodCutter, тоді також можна отримати оригінальний файл, оскільки WoodCutter також створює пакетний файл та файл сценарію Shell для об'єднання файлів назад. Пакетний файл буде використовуватися на платформі Windows, а сценарій Shell - у платформах Linux.
split --number
Це хороший варіант для створення N файлів однакового розміру, за винятком останнього, який може бути більшим через неподільність. Наприклад:
printf '0123456789' > f.txt
split -d --number 2 f.txt f.txt.part.
tail f.txt.part.*
дає:
==> f.txt.part.00 <==
01234
==> f.txt.part.01 <==
56789
і:
split -d --number 3 f.txt f.txt.part.
tail f.txt.part.*
дає:
==> f.txt.part.00 <==
012
==> f.txt.part.01 <==
345
==> f.txt.part.02 <==
6789
Порівняно з -b
+ явним розрахунком розміру, про який згадувалося на веб- сайті: https://askubuntu.com/a/54584/52975 , останній файл може бути майже в 2 рази більший, ніж попередній, що іноді є недоліком цієї опції. Однак це зручніше багато разів, оскільки вам не доведеться робити розрахунок розміру самостійно.
Про рівну кількість рядків задали: https://stackoverflow.com/questions/2016894/how-to-split-a-large-text-file-into-smaller-files-with-equal-number-of-lines
Тестовано у split
2,28, Ubuntu 18,04.