Tôi muốn thêm tệp vào tệp zip, có tên khác và tránh tạo tệp mới với tên mong muốn. Ví dụ, tôi muốn thêm tập tin myfile.txt vào một zip, nhưng đổi tên nó thành myfile2.txt.Lệnh zip Linux: thêm tệp có tên khác
Cảm ơn
Tôi muốn thêm tệp vào tệp zip, có tên khác và tránh tạo tệp mới với tên mong muốn. Ví dụ, tôi muốn thêm tập tin myfile.txt vào một zip, nhưng đổi tên nó thành myfile2.txt.Lệnh zip Linux: thêm tệp có tên khác
Cảm ơn
Bạn có thể sử dụng zipnote đi kèm với gói zip.
Đầu tiên xây dựng các kho lưu trữ zip có chứa các tập tin myfile.txt:
zip archive.zip myfile.txt
Sau đó đổi tên myfile.txt bên trong các kho lưu trữ zip với:
printf "@ myfile.txt\[email protected]=myfile2.txt\n" | zipnote -w archive.zip
(Nhờ Jens cho thấy printf
thay vì echo -e
.)
Giải thích ngắn về "@ myfile.txt\[email protected]=myfile2.txt\n"
:
Từ zipnote -h
: "@ tên" có thể được theo sau bởi một "@ = newname" dòng để thay đổi tên
Và \n
tách hai lệnh.
Nitor nhỏ: 'echo -e' là một SysVism không thể chuyển đổi. Tôi muốn sử dụng 'printf" @ myfile.txt \ [email protected]=myfile2.txt \ n "| ... '. – Jens
Điểm tốt. Đã sửa đổi câu trả lời của tôi. – mkrnr
Tôi không biết tại sao nhưng tôi có thể làm cho nó hoạt động. Xem câu hỏi của tôi - http://stackoverflow.com/questions/22974139/how-to-use-zipnote-command – martin
Không hiểu lý do tại sao nó là offtopic – pihentagy
Tôi cũng bỏ phiếu cho rằng điều này không ngoại lệ ở đây. 'zip' là một công cụ phát triển chuẩn để gói các bản phát hành. Và thay đổi tên của các tệp được phân phối khi gộp chúng trong một 'Makefile' có thể được coi là một thực tế rất phổ biến. Do đó nếu có một giải pháp không bao gồm các bản sao vào các tệp/thư mục tạm thời, đây là thành ngữ rất được hoan nghênh để sử dụng để giải quyết một tác vụ lập trình khá phổ biến. – Tino
Bỏ phiếu để đóng cửa dưới dạng [yêu cầu công việc] (https://meta.stackoverflow.com/questions/274630/should-we-add-a-do-my-work-for-me-close-reason). –