cuốn sách gpt4 ai đã làm

linux - Giải nén và xóa các tập tin từ một tar và thêm vào một tar mới khác

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 01:15:12 26 4
mua khóa gpt4 Nike

我有一个bzip2ed tar và một tệp văn bản chứa danh sách các tệp. Tôi muốn trích xuất các tệp được liệt kê trong tệp văn bản từ tar, thêm chúng vào tar mới, sau đó xóa chúng khỏi tar đầu tiên.

Ví dụ: nếu tôi có tệp tar như thế này:

$ tar -tvf test.tar.bz2
drwxrwxrwx nacho/nacho 0 2018-11-16 23:30 one/test/
-rw-rw-rw- nacho/nacho 0 2018-11-16 23:25 one/test/a
-rw-rw-rw- nacho/nacho 0 2018-11-16 23:25 one/test/b
drwxrwxrwx nacho/nacho 0 2018-11-16 23:25 one/test/c/
-rw-rw-rw- nacho/nacho 0 2018-11-16 23:25 one/test/c/a
-rw-rw-rw- nacho/nacho 0 2018-11-16 23:25 one/test/c/b
drwxrwxrwx nacho/nacho 0 2018-11-16 23:25 one/test/c/c/
-rw-rw-rw- nacho/nacho 0 2018-11-16 23:25 one/test/c/c/a
-rw-rw-rw- nacho/nacho 0 2018-11-16 23:25 one/test/c/c/b
drwxrwxrwx nacho/nacho 0 2018-11-16 23:25 one/test/c/d/
-rw-rw-rw- nacho/nacho 0 2018-11-16 23:25 one/test/c/d/a
-rw-rw-rw- nacho/nacho 0 2018-11-16 23:25 one/test/c/d/b
drwxrwxrwx nacho/nacho 0 2018-11-16 23:34 one/test/e/

Ngoài ra còn có một tệp văn bản chứa danh sách các tệp như thế này:

$ tập tin mèo_to_extract
một/kiểm tra/b
một/kiểm tra/e/
một/kiểm tra/c/b
một/kiểm tra/c/d/a

Khi hoàn tất, tệp tar gốc sẽ trông như thế này:

$ tar -tvf test.tar.bz2
drwxrwxrwx nacho/nacho 0 2018-11-16 23:30 one/test/
-rw-rw-rw- nacho/nacho 0 2018-11-16 23:25 one/test/a
drwxrwxrwx nacho/nacho 0 2018-11-16 23:25 one/test/c/
-rw-rw-rw- nacho/nacho 0 2018-11-16 23:25 one/test/c/a
drwxrwxrwx nacho/nacho 0 2018-11-16 23:25 one/test/c/c/
-rw-rw-rw- nacho/nacho 0 2018-11-16 23:25 one/test/c/c/a
-rw-rw-rw- nacho/nacho 0 2018-11-16 23:25 one/test/c/c/b
drwxrwxrwx nacho/nacho 0 2018-11-16 23:25 one/test/c/d/
-rw-rw-rw- nacho/nacho 0 2018-11-16 23:25 one/test/c/d/b

và tệp tar mới sẽ trông như thế nào.

$ tar -tvf new.tar.bz2
-rw-rw-rw- nacho/nacho 0 2018-11-16 23:25 one/test/b
-rw-rw-rw- nacho/nacho 0 2018-11-16 23:25 one/test/c/b
drwxrwxrwx nacho/nacho 0 2018-11-16 23:34 one/test/e/
-rw-rw-rw- nacho/nacho 0 2018-11-16 23:25 one/test/c/d/a

Lưu ý rằng thứ tự của các tập tin không quan trọng.

câu trả lời hay nhất

Đây là cách tôi làm điều đó:

Trích xuất các tệp từ "files_to_extract" sang thiết bị xuất chuẩn và chuyển sang tar khác:

tar -xOjf test.tar.bz2 -T files_to_extract | tar -cjf new.tar.bz2 -T -

Giải nén, xóa khỏi tar và bzip lại:

thử nghiệm bunzip2.tar.bz2
tar -f test.tar --delete $(cat files_to_extract)
bzip2 test.tar

Tài liệu về các tùy chọn không phổ biến:

Về linux - trích xuất và xóa các tệp khỏi một tar và thêm vào một tar mới khác, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/53348319/

26 4 0
Bài viết khuyến nghị: linux - Lỗi cài đặt Mongodb 4.0.4 trên Linux
Bài viết khuyến nghị: c++ - thuật toán sắp xếp - phương pháp
Bài viết khuyến nghị: linux - Pyinstaller và xdg-open
Bài viết khuyến nghị: Không thể nhập PIL qua PHP
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress