Linux: Jak podzielić duży plik na mniejsze pliki?


10

Mam gigantyczny plik (> 20 koncertów) na mojej maszynie źródłowej i muszę przenieść go na maszynę docelową. Na potrzeby tego pytania załóżmy, że nie mam połączenia sieciowego między dwoma komputerami.

Muszę podzielić ten plik na serię mniejszych plików, zapisać mniejsze pliki na dyskach DVD, a następnie ponownie złożyć wszystko na komputerze docelowym.

Zarówno maszyny źródłowe, jak i docelowe to Linux. Czy istnieje sposób na osiągnięcie tego celu tar? Mam wrażenie, że muszę użyć tego --multi-volumeparametru. Jakie są moje opcje?

Muszę być w stanie określić rozmiar plików woluminu, aby upewnić się, że każdy zmieści się na jednym dysku DVD.

Dzięki!

Odpowiedzi:


14

Użyj polecenia podziału.

split -b 22 m newfile.txt new podzieliłby plik „newfile.txt” na trzy osobne pliki o nazwach newaa, newab i newac, każdy o rozmiarze 22 MB.


3
Uważaj, aby utworzyć przedrostek „nowy”, który udostępniasz w oryginalnym pliku „newfile.txt”. Teraz, gdy spróbujesz to zrobić cat new* > newfile.txt, wybuchnie!
Robert Martin

@RobertMartin Dobry połów!
duffbeer703

6

Inne odpowiedzi obejmują splitpołączenie ich w jeden plik główny, którego właśnie używasz cat.



0

podział -b 4000000000 nazwa_pliku

Utworzy każdy plik o wielkości 4 GB

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.