Câu hỏi Làm cách nào để chia nhỏ các tệp lớn hơn thành các phần nhỏ hơn?


Tôi có một tập tin lớn (ví dụ 8GB). Làm thế nào tôi có thể chia nó thành nhiều phần, giả sử 3 phần bằng nhau, và sau đó làm thế nào để tôi tích hợp chúng sau này?


163
2017-07-26 14:42


gốc


Điều này có vẻ là một bản sao của askubuntu.com/questions/12172/… - Jo-Erlend Schinstad
Bạn có chắc chắn "Điều này có vẻ là" ?. Heck, đó là điều chính xác. Ngoại trừ ở đây bây giờ là với một tiền thưởng của "Nhiều ví dụ và lựa chọn thay thế." - Luis Alvarado♦
Nó có thể giúp đỡ nếu bạn nói nhiều hơn về lý do bạn muốn chia nhỏ nó và liệu bạn có muốn chia nhỏ thành các phần tử byte hay không hoặc bạn có mở chúng để kiểm tra hoặc dán nhãn không. Nếu điều này là để đặt nó trên phương tiện truyền thông nhỏ hơn hoặc để chuyển mạng tôi sẽ xem xét một cái gì đó như par2. - poolie
cross ref: stackoverflow.com/questions/7764755/… - Trevor Boyd Smith
một lớp lót để chia đều cho N: (1.) chia cho các đường chia - dòng $ (($ (wc -l <$ {your_filename}) / $ {N})) $ {your_filename} (2.) chia cho byte được chia - byte $ (($ (wc -c <$ {your_filename}) / $ {N})) $ {your_filename} - Trevor Boyd Smith


Các câu trả lời:


Có một số cách để thực hiện điều này. Hãy bắt đầu với những cái cơ bản.

Sử dụng chia ra và con mèo lệnh:

Cho phép nói rằng tôi có một hình ảnh và nó quá lớn (10MB). Tất cả những gì tôi làm là:

split --bytes=1M /path/to/image/image.jpg /path/to/image/prefixForNewImagePieces

và sau đó để đặt nó lại với nhau, tôi sử dụng mèo:

cat prefixFiles* > newimage.jpg

Ví dụ:

Giả sử là bên trong thư mục chứa hình ảnh:

split --bytes=1M myimage.jpg new

nếu hình ảnh bên trong một thư mục được gọi là hình ảnh, bạn cũng có thể làm điều này:

split --bytes=1M images/myimage.jpg new

Nếu hình ảnh nằm trong thư mục / home / cyrex / images, bạn có thể làm điều này:

split --bytes=1M /home/cyrex/images/myimage.jpg new

(Trong tất cả các trường hợp trên, nó sẽ được chia myimage.jpg trong 1MB miếng và tiền tố tên của các mảnh với từ mới. Vì vậy, họ sẽ giống như newaa, newab, newac, newad...)

Nếu bạn đang tách một Tệp văn bản và muốn chia nó thành từng dòng, bạn có thể làm điều này:

split -l 1000 book.txt new

Mà sẽ chia tập tin văn bản trong tập tin đầu ra của 1000 dòng mỗi. Đây là một cách khác để tách tệp và chủ yếu được sử dụng cho các tệp văn bản như nhật ký, bãi sql, tệp csv, v.v.

Sau đó, tôi hợp nhất chúng

cat new* > newimage.jpg

Đây là một cách. Bạn thậm chí có thể thay đổi kích thước của các phần được tách ra. Chỉ cần thay đổi phần nói --bytes=1M đến --bytes=1K cho 1 kilobyte hoặc 1G đối với giga hoặc một số khác như --bytes=4K cho các miếng 4KB.

Sử dụng Nautilus

Một cách khác là tùy chọn nén trong gui của Nautilus. Nó cung cấp cho bạn một tùy chọn để chia nhỏ tệp hoặc tệp bạn muốn nén thành kích thước megabyte nhỏ hơn. Đơn giản và dễ dàng.

Tuy nhiên, một cách khác là sử dụng 7z

Giả sử bạn có một ảnh ISO được gọi là ubuntu.iso bạn có thể làm điều này:

7z a -v5m -mx0 ubuntu.7z ubuntu.iso

Điều này sẽ tạo các tệp kích thước 5MB từ ubuntu.iso. Các -v5m là kích thước khối lượng để bạn có thể thay đổi nó thành 10, 12, 1, 3 và cũng có thể thay đổi thành k đối với kilobyte, v.v. các -mx0 switch cho biết 7-Zip không sử dụng nén, tức là chỉ chia dữ liệu thành nhiều phần.

Để trích xuất chỉ cần làm

7z x ubuntu.7z.001

theo cách này, bạn trích xuất tệp đầu tiên và 7z bắt đầu giải nén từ các tệp sau theo thứ tự. Bạn cũng có thể làm

7z e ubuntu.7z.001

có tác dụng tương tự ở đây.


244
2017-07-26 15:05



Không bao gồm rar kể từ khi không phải là mã nguồn mở (Theo như tôi biết) và không thêm Tar kể từ khi tôi đang tìm kiếm cách dễ dàng để làm việc chia. - Luis Alvarado♦
Thêm gzip - 7zip yêu cầu cài đặt gói iirc - Broam
Đối với những gì tôi biết, Gzip (như tar) không có một tùy chọn dễ dàng để tách các tập tin nén. Trong mọi trường hợp tôi đã thấy chúng bằng cách sử dụng lệnh split để "chia nhỏ" tập tin nén. Vì vậy, nó sẽ không phải là một lệnh nhưng một nhóm các lệnh để đạt được một mục đích duy nhất có thể được thực hiện với một đơn như chia nhỏ hoặc 7z. Đối với việc cài đặt 7Zip (đó là p7zip của gói p7zip-đầy đủ) nó đã không bao giờ hỏi tôi cho iirc;). - Luis Alvarado♦
Đã thêm tách tệp văn bản. Quên về điều đó và hôm nay nó chỉ như vậy đã xảy ra tôi cần phải chia một vài tập tin CSV. Điều này là dành cho những bãi mà bạn cần phải có một số lượng cụ thể của dòng. - Luis Alvarado♦


Sử dụng split -b với số thích hợp, bạn có thể nhận được ba phần.

Số có thể là:

size=$(wc -c <"file name")
one_third=$((size/3+1))

Để lắp ráp lại, sử dụng mèo

cat "file name"* > "file name"

Các trang thủ công sẽ giúp điền thông tin chi tiết.


9
2017-07-26 14:58





HJSplit

Là một chương trình phần mềm miễn phí phổ biến để chia nhỏ và kết hợp lại các tệp. Chương trình có sẵn trên Windows, Linux và một loạt các nền tảng khác.

HJSplit cho Linux là một bộ chia phần mềm miễn phí cho Linux với giao diện người dùng đồ họa đầy đủ. HJSplit hỗ trợ kích thước tệp trên 100 Gigabyte, Tách, Tham gia / Tái tổ hợp, kiểm tra MD5, so sánh tệp, "chạy mà không cần cài đặt" và chương trình hoàn toàn di động.

HJSplit cho Linux không cần phải được cài đặt và nó không phụ thuộc vào bất kỳ thư viện đặc biệt nào. Chỉ cần giải nén kho lưu trữ hjsplitlx.tar.gz vào thư mục bạn chọn và khởi động chương trình từ trình quản lý tệp Linux hoặc cửa sổ đầu cuối. Bạn có thể cần phải điều chỉnh quyền của tệp chương trình thành 'thực thi'.

enter image description here


4
2017-07-26 14:53



Tôi phải nói rằng tệp Windows cũng hoạt động trên Linux. - Uri Herrera
Có một số cách để tách / nối một tệp trước khi phải đi đến một chương trình như thế này. Tôi thay vì sử dụng các tùy chọn mạnh mẽ mà linux cung cấp và cho các tập tin tách / hợp nhất nó có một số cách khá nhanh, an toàn để thực hiện nó. - Luis Alvarado♦
Nó là an toàn, nhanh chóng, và là nền tảng chéo bao gồm LINUX, nó không phải là một ứng dụng chỉ có Windows mà chỉ xảy ra để chạy Trong Linux quá ... - Uri Herrera
Tôi sử dụng HJSplit, nó thật tuyệt vời và đơn giản. Không cần phải gõ các lệnh và tên tham số khi bạn chỉ có thể điền các giá trị tham số vào các hộp văn bản. - Matthew Read
Và việc tải xuống miễn phí làm cho nó tồi tệ hơn vì? và tôi phải nói rằng NGAY BÂY GIỜ trong OP HE ASKS CHO PHẦN MỀM MIỄN PHÍ (đây là, nó miễn phí) và những gì bạn đang đề cập đến được gọi là MỞ, có một sự khác biệt mà bạn biết ?. - Uri Herrera


Gnome chia tay? http://gnome-split.org/

GNOME Split là một công cụ cho phép bạn tách các tệp và hợp nhất chúng lại. Nó được viết bằng Java và sử dụng giao diện người dùng GTK + (nhờ dự án java-gnome). Mục tiêu là cung cấp việc triển khai thực hiện các dự án tương tự có thể xử lý nhiều định dạng tệp (ví dụ: Xtremsplit).

http://www.omgubuntu.co.uk/2010/08/split-large-files-easily-in-ubuntu-with-gnome-split/


4
2017-07-26 20:47





HOZ - Mã nguồn mở Hacha v1.65 - http://hoz.sourceforge.net/

enter image description here

Từ nhà phát triển:

OZ là những gì bạn sẽ gọi là một 'tập tin splitter'. Định dạng tệp của nó là   giống như phần mềm được sử dụng bởi phần mềm 'Hacha', một bộ chia nhỏ nổi tiếng trong   Tây Ban Nha và Latinamerica. HOZ là một mã nguồn mở và di động C   triển khai bộ tách tương thích 'Hacha'.

HOZ nhỏ hơn và nhanh hơn 'Hacha'.

btw, tôi đã sử dụng 'Z' không phải là chữ 'S' trong 'Zource' vì 'hoz' là   'liềm' trong tiếng Tây Ban Nha, và vì 'hacha' là từ tiếng Tây Ban Nha cho   'rìu' ...

Sau khi cài đặt, bạn có thể sử dụng Hoz GUI bằng cách thả ghoz trong một thiết bị đầu cuối. Các hoạt động rất đơn giản mà không cần giải thích, nhưng thông tin thêm có thể đạt được trong trang web của nhà phát triển.

Chúc may mắn!


3
2017-07-26 15:09





WoodCutter

Một tiện ích phân tách và hợp nhất tệp miễn phí được phát triển trong Java. Nó là một ứng dụng kích thước nhỏ cho phép người dùng phân chia bất kỳ loại tệp nào có kích thước nhỏ hơn bằng KB, MB hoặc GB.

Nó có sẵn cho Linux cũng như Windows.

WoodCutter cung cấp 3 cách để kết hợp lại các tập tin gốc. WoodCutter tạo một tệp hợp nhất có thể được ứng dụng WoodCutter xử lý để nối tất cả các tệp trở lại. Trong trường hợp người nhận các tệp phân tách không có cài đặt WoodCutter, thì cũng có thể lấy được tệp gốc vì WoodCutter cũng tạo một tệp lô và tệp tập lệnh Shell để hợp nhất các tệp trở lại. Tập tin batch sẽ được sử dụng trong nền tảng Windows và Shell script sẽ được sử dụng trong các nền tảng Linux.

http://java-puzzle.blogspot.com/2009/07/woodcutter.html


0
2017-07-28 14:49



Giấy phép là "phần mềm miễn phí". Tôi nghĩ rằng một công cụ Phần mềm Tự do trong repos là một giải pháp tốt hơn. - Broam