एक कमांड के साथ .txz और .tar में फाइल को अनपैक करें


13

मेरे पास * .txz में एक फ़ाइल संपीड़ित है। इसे अनपैक करने के बाद मुझे * .tar फाइल मिली। क्या एक कमांड से इसे दो बार अनपैक करने का कोई तरीका है? मेरा मतलब है unpack file (* .tar) .txz एक कमांड के साथ?

मुझे पता है कि मैं इसे इस तरह से कर रहा हूँ:

xz -d file.txz
tar xvf file.tar

लेकिन मुझे आश्चर्य है कि अगर कोई अच्छा तरीका है।

जवाबों:


18
xz -d < file.tar.xz | tar xvf -

यह किसी भी संकुचित संग्रह के साथ के रूप में ही है। आपको मूल फ़ाइल की एक असम्पीडित प्रतिलिपि बनाने की आवश्यकता नहीं होनी चाहिए ।

tarजीएनयू के हाल के संस्करणों जैसे कुछ कार्यान्वयन tarमें बिलियन ऑप्शन हैं, xzजिन्हें स्वयं कॉल करना है।

GNU tarया के साथ bsdtar:

tar Jxvf file.tar.xz

हालाँकि, यदि आपके पास एक ऐसा संस्करण है जिसके पास -Jसंभावना है xz, तो यह स्वचालित रूप से फ़ाइलों का पता लगाएगा , इसलिए:

tar xvf file.tar.xz

पर्याप्त होगा।

यदि आपका GNU या BSD विशेष रूप tarसे समर्थन करने के लिए बहुत पुराना है xz, तो आप --use-compress-programविकल्प का उपयोग करने में सक्षम हो सकते हैं :

tar --use-compress-program=xz -xvf file.tar.gz

tarकंप्रेसर उपयोगिता को लागू करने के फायदों में से एक यह है कि यह इसके बाहर निकलने की स्थिति में विफलता की रिपोर्ट करने में सक्षम है।

नोट: यदि tar.xzसंग्रह के साथ बनाया गया है pixz, pixzतो इसमें एक tarइंडेक्स जोड़ा जा सकता है , जो संपूर्ण संग्रह को अनकम्प्रेस्ड किए बिना व्यक्तिगत रूप से फाइल निकालने की अनुमति देता है:

pixz -x path/to/file/in/archive < file.tar.xz | tar xvf -

मुझे इसका उपयोग करना है: tar --use-compress-program = xz -xvf file.tar.gz धन्यवाद!
पवेल जवोरोव्स्की


4

अनपैकिंग शायद सही शब्दावली नहीं है। आप कर सकते हैं संपीड़न हटाने के साथ xzऔर अनटार साथ tar

GNU के लिए मैनुअल पेज tar( man tar,, GNU टार डेबियन पर डिफ़ॉल्ट है) निर्दिष्ट करता है कि आप इसका उपयोग कर सकते हैं:

-I, --use-compress-program PROG
      filter through PROG (must accept -d)

और विकल्प xzका समर्थन करता -dहै, ताकि आप उपयोग कर सकें:

tar --use-compress-program xz xvf file.txz 

मैन पेज से बहुत कम स्पष्ट है कि -xzऔर के -Jलिए शॉर्टहैंड हैं --use-compress-program xzया -I xz

और मैन पेज में जो कुछ भी निर्दिष्ट नहीं है वह यह है कि आप बस कर सकते हैं

tar xvf file.txz 

GNU टार में और यह टार फ़ाइल को इसके साथ संपीड़ित होने के रूप में पहचान लेगा xz

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.