Tôi có một tệp lớn (ví dụ 8GB). Làm cách 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 cách nào để tích hợp chúng sau này?
Tôi có một tệp lớn (ví dụ 8GB). Làm cách 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 cách nào để tích hợp chúng sau này?
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.
Hãy 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 con mèo:
cat prefixFiles* > newimage.jpg
Ví dụ:
Giả sử trong thư mục chứa hình ảnh:
split --bytes=1M myimage.jpg new
Nếu hình ảnh nằm trong một thư mục có tên 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 / hình ảnh, 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ẽ chia myimage.jpg
ra từng mảnh 1MB và tiền tố tên của các mảnh với từ mới. Vì vậy, họ sẽ như thế nào newaa
, newab
, newac
, newad
...)
Nếu bạn đang chia một tệp Văn bản và muốn chia nó theo dòng, bạn có thể thực hiện việc này:
split -l 1000 book.txt new
Sẽ chia tệp văn bản trong các tệp đầu ra 1000 dòng mỗi dòng. Đây là một cách khác để phân chia một 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 chứa 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 mảnh bị tách. Chỉ cần thay đổi phần có --bytes=1M
giá --bytes=1K
trị 1 kilobyte hoặc 1G cho giga hoặc một số khác như --bytes=4K
cho các miếng 4KB.
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 để tách tệp hoặc tệp bạn muốn nén thành các kích thước megabyte nhỏ hơn. Nó đơn giản và dễ dàng.
Giả sử bạn có một hình ả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, do đó bạn có thể thay đổi nó đến 10, 12, 1, 3 và cũng là m có thể được thay đổi để k cho kilobyte, vv; công -mx0
tắc báo cho 7-Zip không sử dụng nén, nghĩa là chỉ chia dữ liệu thành nhiều phần.
Để giải nén chỉ cần làm
7z x ubuntu.7z.001
bằng 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.
Sử dụng split -b
với số lượng thích hợp, bạn có thể nhận được ba mảnh.
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 hướng dẫn sẽ giúp điền vào các chi tiết.
split --number
để cho phép split
tính số lượng tệp cho bạn: askubfox.com/questions/54579/ trên
Là một chương trình phần mềm miễn phí phổ biến để phân chia và kết hợp lại các tập tin. Chương trình có sẵn trên Windows, Linux và nhiều nền tảng khác.
HJSplit cho Linux là một trình phân tách tệp 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, Split, Tham gia / Kết hợp lại, tổng kiểm 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à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 trích xuất kho lưu trữ hjsplitlx.tar.gz vào một 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 điều chỉnh quyền truy cập tệp của chương trình thành 'thực thi'.
Chia tách Gnome? 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ờ vào dự án java-gnome). Mục tiêu là cung cấp một triển khai gốc của các dự án tương tự có thể xử lý nhiều định dạng tệp (ví dụ Xtremsplit).
http://www.omgubfox.co.uk/2010/08/split-large-files-easily-in-ubfox-with-gnome-split/
HOZ - Hacha Open Zource v1,65 - http://hoz.sourceforge.net/
Từ nhà phát triển:
OZ là cái mà bạn sẽ gọi là 'bộ chia tệp'. Định dạng tệp của nó giống với định dạng được sử dụng bởi phần mềm 'Hacha', một bộ chia nổi tiếng ở Tây Ban Nha và Latinamerica. HOZ là một triển khai C nguồn mở và di động của bộ chia 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à '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 có nghĩa là 'ax' ...
Sau khi cài đặt, bạn có thể sử dụng Hoz GUI bằng cách thả ghoz
vào một thiết bị đầu cuối. Hoạt động đơn giản đến mức không cần giải thích nhưng có thể tiếp cận thêm thông tin trong trang web của nhà phát triển.
Chúc may mắn!
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. Đây 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 với kích thước nhỏ hơn tính bằng KB, MB hoặc GB.
Nó có sẵn cho Linux cũng như Windows.
WoodCutter cung cấp 3 cách để hợp nhất lại các tập tin gốc. WoodCutter tạo một tệp hợp nhất có thể được xử lý bởi ứng dụng WoodCutter để nối tất cả các tệp lại. Trong trường hợp người nhận các tệp tách không được cài đặt WoodCutter, thì cũng có thể lấy tệp gốc vì WoodCutter cũng tạo một tệp bó và tệp script Shell để hợp nhất các tệp lại. Tệp bó sẽ được sử dụng trong nền tảng Windows và tập lệnh Shell sẽ được sử dụng trong các nền tảng Linux.
split --number
Đây là một tùy chọn tốt để tạo N tệp có cùng kích thước, ngoại trừ tệp cuối cùng có thể lớn hơn do không thể chia sẻ được. Ví dụ:
printf '0123456789' > f.txt
split -d --number 2 f.txt f.txt.part.
tail f.txt.part.*
cho:
==> f.txt.part.00 <==
01234
==> f.txt.part.01 <==
56789
và:
split -d --number 3 f.txt f.txt.part.
tail f.txt.part.*
cho:
==> f.txt.part.00 <==
012
==> f.txt.part.01 <==
345
==> f.txt.part.02 <==
6789
So với -b
+ tính toán kích thước rõ ràng, được đề cập tại: https://askubfox.com/a/54584/52975 , tệp cuối cùng có thể lớn hơn gần gấp đôi so với trước đây, đôi khi là nhược điểm của tùy chọn này. Tuy nhiên, việc này thuận tiện hơn nhiều lần vì bạn không phải tự mình thực hiện phép tính kích thước.
Số dòng bằng nhau đã được hỏi tại: https://stackoverflow.com/questions/2016894/how-to-split-a-large-text-file-into-smaller-files-with-equal-number-of-lines
Đã thử nghiệm trong split
2.28, Ubuntu 18.04.