2013-05-23 20 views
13

Bir zip dosyasına, farklı bir adla dosya eklemek ve istenen adla yeni bir dosya oluşturulmasını önlemek istiyorum. Örneğin, myfile.txt dosyasını bir zip'e eklemek istiyorum, ancak bunu myfile2.txt olarak adlandırıyorum.Linux zip komutu: farklı bir ada sahip bir dosya ekleyin

Teşekkür

+0

Niçin bu offtopic – pihentagy

+3

olduğunu anlamıyorum, bunun da burada açık olmadığını söylemiyorum. "zip", sürümleri paketlemek için standart bir geliştirme aracıdır. Ve dağıtılmış dosyaların isimlerini bir "Makefile" içinde paketlerken değiştirmenin çok yaygın bir uygulama olduğu düşünülebilir. Bu nedenle, geçici dosyalara/dizinlere kopya içermeyen bir çözüm varsa, oldukça yaygın bir programlama görevini çözmek için kullanmak çok hoş bir deyimdir. – Tino

+0

[iş talebi] olarak kapalı bırakılma oyu (https://meta.stackoverflow.com/questions/274630/should-we-add-a-do-my-work-for-me-close-reason). –

cevap

20

zip paketi ile gelmelidir hangi zipnote kullanabilirsiniz. printf düşündüren yerine ilişkin Jens için

printf "@ myfile.txt\[email protected]=myfile2.txt\n" | zipnote -w archive.zip 

(teşekkür:

zip archive.zip myfile.txt 

Sonra ile zip arşiv içinde myfile.txt adlandırmak:

İlk myfile.txt dosyası ile zip arşivi oluşturmak echo -e.)

Kısa bir açıklama "@ myfile.txt\[email protected]=myfile2.txt\n":

itibaren

: "isim @"

Ve \n iki komutları ayıran adını değiştirmek için bir "@ = yeniad" hattı ile takip edilebilir.

+1

Küçük nitpick: 'echo -e', tartışmasız bir SysVism. Printf kullanıyorum @ myfile.txt \ [email protected]=myfile2.txt \ n "| ... '. – Jens

+0

İyi nokta. Cevabımı değiştirdim. – mkrnr

+0

Neden bilmiyorum ama işe yarayabilirim. Benim soruma bakın - http://stackoverflow.com/questions/22974139/how-to-use-zipnote-command – martin