मेरे पास बहुत सारी .txt.gz
फाइलों के साथ एक निर्देशिका है (जहां नाम एक विशिष्ट पैटर्न का पालन नहीं करते हैं।)
gunzip
उनके लिए सबसे सरल तरीका क्या है ? मैं उनके मूल नामों को संरक्षित करना चाहता हूं, ताकि वे से whatevz.txt.gz
जाएंwhatevz.txt
मेरे पास बहुत सारी .txt.gz
फाइलों के साथ एक निर्देशिका है (जहां नाम एक विशिष्ट पैटर्न का पालन नहीं करते हैं।)
gunzip
उनके लिए सबसे सरल तरीका क्या है ? मैं उनके मूल नामों को संरक्षित करना चाहता हूं, ताकि वे से whatevz.txt.gz
जाएंwhatevz.txt
जवाबों:
यह कैसे के बारे में?
$ gunzip *.txt.gz
gunzip
.gz
प्रत्यय के बिना एक गनज़्ड फ़ाइल बनाएगा और मूल फ़ाइल को डिफ़ॉल्ट रूप से हटा देगा (विवरण के लिए नीचे देखें)। *.txt.gz
मिलान करने वाली सभी फ़ाइलों के लिए आपके शेल द्वारा विस्तारित किया जाएगा।
यह अंतिम बिट आपको मुसीबत में डाल सकती है यदि यह फाइलों की एक लंबी सूची में फैलती है। उस स्थिति में, आपके लिए काम करने find
और -exec
करने का प्रयास करें ।
मैन पेज से gzip(1)
:
gunzip takes a list of files on its command line and replaces each file whose name ends with .gz, -gz, .z, -z, or _z (ignoring case) and which begins with the correct magic number with an uncompressed file without the original extension.
gzip संपीड़न समय पर उपयोग किए जाने वाले फ़ाइलनाम को संग्रहीत और पुनर्स्थापित कर सकता है। यहां तक कि अगर आप संपीड़ित फ़ाइल का नाम बदलते हैं, तो आप यह पता लगाने के लिए आश्चर्यचकित हो सकते हैं कि यह फिर से मूल नाम पर पुनर्स्थापित करता है।
Gzip मैनपेज से:
डिफ़ॉल्ट रूप से, gzip मूल फ़ाइल का नाम और टाइमस्टैम्प को संपीड़ित फ़ाइल में रखता है।
-N
विकल्प के साथ फाइल को डिकम्प्रेस करते समय इनका उपयोग किया जाता है। यह तब उपयोगी होता है जब संपीड़ित फ़ाइल नाम को छोटा कर दिया गया था या जब फ़ाइल स्थानांतरण के बाद समय टिकट संरक्षित नहीं किया गया था।
और इन फ़ाइल नामों को मेटाडेटा में संग्रहीत किया जा सकता है file
:
$ echo "foo" > myfile_orig
$ gzip myfile_orig
$ mv myfile_orig.gz myfile_new.gz
$ file myfile_new.gz
myfile_new.gz: gzip compressed data, was "myfile_orig", last modified: Mon Aug 5 08:46:39 2019, from Unix
$ gunzip myfile_new.gz # gunzip without -N
$ ls myfile_*
myfile_new
$ rm myfile_*
$ echo "foo" > myfile_orig
$ gzip myfile_orig
$ mv myfile_orig.gz myfile_new.gz
# gunzip with -N
$ gunzip -N myfile_new.gz # gunzip with -N
$ ls myfile_*
myfile_orig