Jak mogę podzielić duży plik + 4 GB na mniejsze pliki o wielkości około 500 MB każdy.
Jak mam je ponownie złożyć, aby uzyskać oryginalny plik?
command-line
split
Stefan
źródło
źródło
Odpowiedzi:
Możesz użyć split i cat .
Na przykład coś takiego
(gdzie wejściowa nazwa pliku to
foo
ostatni argument wyjściowy). Spowoduje to utworzenie plików takich jakfoo.000 foo.001
...To samo polecenie z krótkimi opcjami:
Możesz także określić „--line-bytes”, jeśli chcesz, aby dzielił się na granicach linii zamiast tylko dokładnej liczby bajtów.
Do ponownego złożenia wygenerowanych elementów możesz użyć np .:
(zakładając, że powłoka sortuje wyniki globowania powłoki - a liczba części nie przekracza zależnego od systemu limitu argumentów)
Możesz porównać wynik poprzez:
(co powinno dać wynik 0)
Alternatywnie możesz użyć kombinacji find / sort / xargs, aby ponownie złożyć elementy:
źródło
man split cat md5sum
cat foo.{000..NNN}
gdzieNNN
jest ostatni oczekiwany element. W ten sposób pojawia się komunikat o błędzie, jeśli brakuje jednego z elementów. Zauważ jednak, że-d
uzyskanie sufiksów numerycznych jest specyficzne dla podziału GNU; na innych platformach masz do czynienia zfoo.aaa
,foo.aab
itpsplit
KB = 1000, K = 1024, MB = 1000 * 1000, M = 1024 * 1024 itd.... cat > foo_3
być... cat >>foo_3
?rar
i7zip
są często używane do ułatwienia składania takich podziałów między platformamiMożesz to również zrobić za pomocą Archive Managera, jeśli wolisz GUI. Zajrzyj do „Zapisz-> Inne opcje-> Podziel na tomy”.
źródło