it-swarm-vi.com

Chia một tệp lớn thành các phần nhỏ hơn

Làm cách nào để chia một tệp lớn, + 4GB thành các tệp nhỏ hơn khoảng 500MB mỗi tệp.

Và làm thế nào để tôi lắp ráp lại chúng một lần nữa để lấy tệp gốc?

66
Stefan

Bạn có thể sử dụng split cat .

Ví dụ như một cái gì đó như

$ split --bytes 500M --numeric-suffixes --suffix-length=3 foo foo.

(trong đó tên tệp đầu vào là foo và đối số cuối cùng là tiền tố đầu ra). Điều này sẽ tạo các tệp như foo.000 foo.001 ...

Lệnh tương tự với các tùy chọn ngắn:

$ split -b 100k -d -a 3 foo foo

Bạn cũng có thể chỉ định "--line-byte" nếu bạn muốn nó phân chia trên ranh giới dòng thay vì chỉ số byte chính xác.

Để lắp ráp lại các mảnh được tạo lại, bạn có thể sử dụng, ví dụ:

$ cat foo.* > foo_2

(giả sử Shell sắp xếp kết quả của Shell globalbing - và số phần không vượt quá giới hạn phụ thuộc hệ thống của các đối số)

Bạn có thể so sánh kết quả thông qua:

$ cmp foo foo_2
$ echo $?

(nên xuất 0)

Ngoài ra, bạn có thể sử dụng kết hợp find/sort/xargs để lắp ráp lại các mảnh:

$ find -maxdepth 1 -type f -name 'foo.*'  | sort | xargs cat > foo_3
80
maxschlepzig

Bạn cũng có thể làm điều này với Trình quản lý lưu trữ nếu bạn thích GUI. Xem trong 'Lưu-> Tùy chọn khác-> Chia thành các khối'.

4
user1498