2013-05-23 6 views
13

मैं एक ज़िप फ़ाइल में एक अलग नाम के साथ एक फ़ाइल जोड़ना चाहता हूं, और वांछित नाम के साथ एक नई फ़ाइल के निर्माण से परहेज करना चाहता हूं। उदाहरण के लिए, मैं myfile.txt फ़ाइल को ज़िप में जोड़ना चाहता हूं, लेकिन इसे myfile2.txt पर नामित करना चाहता हूं।लिनक्स ज़िप कमांड: विभिन्न नामों के साथ एक फ़ाइल जोड़ें

धन्यवाद

+0

समझ में नहीं आता कि यह ऑफटॉपिक – pihentagy

+3

क्यों है यह भी वोट देता है कि यह यहां ऑफटॉप नहीं है। 'ज़िप' रिलीज बंडल करने के लिए एक मानक विकास उपकरण है। और 'मेकफ़ाइल' के भीतर उन्हें बंडल करते समय वितरित फ़ाइलों का नाम बदलना एक बहुत ही सामान्य अभ्यास माना जा सकता है। इसलिए यदि कोई ऐसा समाधान है जिसमें अस्थायी फ़ाइलों/निर्देशिकाओं में प्रतियां शामिल नहीं हैं तो यह एक बहुत ही सामान्य प्रोग्रामिंग कार्य को हल करने के लिए उपयोग करने के लिए एक बहुत ही स्वागत मुहावरे है। – Tino

+0

एक [कार्य अनुरोध] के रूप में बंद करने के लिए वोटिंग (https://meta.stackoverflow.com/questions/274630/should-we-add-a-do-my-work-for-me-close-reason)। –

उत्तर

20

आप ज़िप पैकेज का उपयोग कर सकते हैं जो ज़िप पैकेज के साथ आना चाहिए। printf सुझाव के बजाय के लिए Jens को

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

(धन्यवाद:

zip archive.zip myfile.txt 

फिर साथ ज़िप संग्रह अंदर myfile.txt नाम बदलने:

पहले myfile.txt फ़ाइल के साथ ज़िप संग्रह का निर्माण echo -e।)

"@ myfile.txt\[email protected]=myfile2.txt\n" का एक संक्षिप्त विवरण:

zipnote -h से: "@ नाम" नाम

और \n अलग करती है दो आदेशों को बदलने के लिए एक "@ = NewName" लाइन के द्वारा पीछा किया जा सकता है।

+1

माइनर नाइटपिक: 'echo -e' एक अयोग्य SysVism है। मैं 'printf" @ myfile.txt \ [email protected]=myfile2.txt \ n "| का उपयोग करूंगा ... '। – Jens

+0

अच्छा बिंदु। मेरा जवाब संशोधित किया। – mkrnr

+0

मुझे नहीं पता क्यों, लेकिन मैं इसे काम कर सकता हूं। मेरा प्रश्न देखें - http://stackoverflow.com/questions/22974139/how-to-use-zipnote-command – martin

संबंधित मुद्दे