Mam duży plik (na przykład 8 GB). Jak mogę podzielić go na wiele części, powiedzmy 3 równe części, a potem jak je później zintegrować?
Mam duży plik (na przykład 8 GB). Jak mogę podzielić go na wiele części, powiedzmy 3 równe części, a potem jak je później zintegrować?
Odpowiedzi:
Można to osiągnąć na kilka sposobów. Zacznijmy od podstawowych.
Powiedzmy, że mam obraz i jest za duży (10 MB). Wszystko co robię to:
split --bytes=1M /path/to/image/image.jpg /path/to/image/prefixForNewImagePieces
a następnie, aby to złożyć, używam cat:
cat prefixFiles* > newimage.jpg
Na przykład:
Zakładając, że jestem w folderze, w którym znajduje się obraz:
split --bytes=1M myimage.jpg new
jeśli obraz znajduje się w katalogu o nazwie obrazy, możesz to również zrobić:
split --bytes=1M images/myimage.jpg new
Jeśli obraz znajduje się w katalogu / home / cyrex / images, możesz to zrobić:
split --bytes=1M /home/cyrex/images/myimage.jpg new
(We wszystkich przypadkach powyżej będzie podzielone myimage.jpg
na kawałki 1 MB i poprzedzić nazwę kawałków z nowego słowa. Więc będą one wyglądać newaa
, newab
, newac
, newad
...)
Jeśli dzielisz plik tekstowy i chcesz podzielić go na linie, możesz to zrobić:
split -l 1000 book.txt new
Który podzieli plik tekstowy na pliki wyjściowe o długości 1000 wierszy każdy. Jest to inny sposób podziału pliku i jest najczęściej używany do plików tekstowych, takich jak dzienniki, zrzuty sql, pliki csv itp.
Następnie łączę je
cat new* > newimage.jpg
To jest jeden sposób. Możesz nawet zmienić rozmiar podzielonych elementów. Wystarczy zmienić część, która mówi --bytes=1M
do --bytes=1K
1 kilobajt lub 1G dla giga lub inny numer jak --bytes=4K
na kawałki 4KB.
Innym sposobem jest opcja kompresji w gui Nautilusa. Daje możliwość podzielenia pliku lub plików, które chcesz skompresować, na mniejsze rozmiary megabajtów. To proste i łatwe.
Zakładając, że masz obraz ISO o nazwie, ubuntu.iso
możesz to zrobić:
7z a -v5m -mx0 ubuntu.7z ubuntu.iso
Spowoduje to utworzenie plików o rozmiarze 5 MB z pliku ubuntu.iso
. Jest -v5m
to rozmiar woluminu, więc możesz go zmienić na 10, 12, 1, 3, a także m można zmienić na k dla kilobajtów itp .; -mx0
przełącznik mówi 7-Zip używać bez kompresji, czyli po prostu podzielić dane na części.
Aby wyodrębnić, po prostu zrób
7z x ubuntu.7z.001
w ten sposób wypakujesz pierwszy plik, a program 7z rozpocznie wypakowywanie kolejno następujących plików. Możesz też zrobić
7z e ubuntu.7z.001
co ma ten sam efekt tutaj.
Używając split -b
odpowiedniej liczby, możesz zdobyć trzy sztuki.
Liczba może być:
size=$(wc -c <"file name")
one_third=$((size/3+1))
Aby ponownie złożyć, użyj cat
cat "file name"* > "file name"
Strony podręcznika pomogą wypełnić szczegóły.
Jest popularnym darmowym programem do dzielenia i ponownego łączenia plików. Program jest dostępny na Windows, Linux i wiele innych platform.
HJSplit dla systemu Linux to darmowy rozdzielacz plików dla systemu Linux z pełnym graficznym interfejsem użytkownika. HJSplit obsługuje pliki o wielkości ponad 100 gigabajtów, Split, Join / Recombine, sumy kontrolne MD5, porównywanie plików, „uruchamianie bez instalacji”, a program jest w pełni przenośny.
HJSplit dla systemu Linux nie musi być instalowany i nie zależy od żadnych specjalnych bibliotek. Po prostu rozpakuj archiwum hjsplitlx.tar.gz do wybranego katalogu i uruchom program z menedżera plików systemu Linux lub okna terminalu. Może być konieczne dostosowanie uprawnień do plików programu do „wykonywalnego”.
Gnom rozdzielił się? http://gnome-split.org/
GNOME Split to narzędzie, które pozwala dzielić pliki i łączyć je z powrotem. Jest napisany w Javie i wykorzystuje interfejs użytkownika GTK + (dzięki projektowi java-gnome). Celem jest zaoferowanie natywnej implementacji podobnych projektów, które mogą obsługiwać wiele formatów plików (np. Xtremsplit).
http://www.omgubuntu.co.uk/2010/08/split-large-files-easily-in-ubuntu-with-gnome-split/
HOZ - Hacha Open Zource v1.65 - http://hoz.sourceforge.net/
Od dewelopera:
OZ to tak zwany „rozdzielacz plików”. Format pliku jest taki sam, jak w oprogramowaniu „Hacha”, dobrze znanym spliterze w Hiszpanii i Ameryce Łacińskiej. HOZ to otwarta i przenośna implementacja C splittera kompatybilnego z „Hacha”.
HOZ jest mniejszy i szybszy niż „Hacha”.
btw, użyłem „Z” odmiany „S” w „Zource”, ponieważ „hoz” to po hiszpańsku sierp, a ponieważ „hacha” to hiszpańskie słowo „ax” ...
Po instalacji możesz użyć interfejsu GUI Hoz, upuszczając ghoz
terminal. Operacja jest tak prosta, że nie wymaga wyjaśnienia, ale można uzyskać dodatkowe informacje na stronie dewelopera.
Powodzenia!
Darmowe narzędzie do dzielenia i scalania plików opracowane w Javie. Jest to aplikacja o małym rozmiarze, która pozwala użytkownikowi dzielić dowolny typ pliku na mniejsze rozmiary w KB, MB lub GB.
Jest dostępny zarówno dla systemu Linux, jak i Windows.
WoodCutter oferuje 3 sposoby łączenia oryginalnych plików. WoodCutter tworzy plik scalania, który może być przetwarzany przez aplikację WoodCutter, aby ponownie połączyć wszystkie pliki. W przypadku, gdy odbiorca podzielonych plików nie ma zainstalowanego programu WoodCutter, można również uzyskać oryginalny plik, ponieważ program WoodCutter tworzy również plik wsadowy i plik skryptu powłoki, aby scalić pliki z powrotem. Plik wsadowy będzie używany na platformie Windows, a skrypt Shell będzie używany na platformach Linux.
split --number
Jest to dobra opcja do generowania N plików o tym samym rozmiarze, z wyjątkiem ostatniego, który może być większy ze względu na niepodzielność. Na przykład:
printf '0123456789' > f.txt
split -d --number 2 f.txt f.txt.part.
tail f.txt.part.*
daje:
==> f.txt.part.00 <==
01234
==> f.txt.part.01 <==
56789
i:
split -d --number 3 f.txt f.txt.part.
tail f.txt.part.*
daje:
==> f.txt.part.00 <==
012
==> f.txt.part.01 <==
345
==> f.txt.part.02 <==
6789
W porównaniu z -b
+ jawnym obliczeniem rozmiaru, o którym wspomniano na stronie : https://askubuntu.com/a/54584/52975 , ostatni plik może być prawie dwukrotnie większy niż poprzednie, co jest czasem wadą tej opcji. Jest to jednak wygodniejsze wiele razy, ponieważ nie musisz samodzielnie obliczać rozmiaru.
Poproszono o taką samą liczbę linii na stronie : https://stackoverflow.com/questions/2016894/how-to-split-a-large-text-file-into-smaller-files-with-equal-number-of-lines
Testowane w wersji split
2.28, Ubuntu 18.04.