আমি জিপিপ ফাইলটির সংকোচিত আকারটি আসলে সংক্ষেপিত না করে কীভাবে পেতে পারি?


25

দয়া করে আমার ওএসের বিশদটি সন্ধান করুন:

$ uname -a
AIX xxyy 1 6 000145364C00

জিজিপ সংরক্ষণাগারে একটি ফাইলের আকার পেতে আমি নিম্নলিখিত কমান্ডটি চেষ্টা করেছি:

$ gzip -l mycontent.DAT.Gz
compressed  uncompr.   ratio   uncompressed_name
-1223644243 1751372002 -75.3%  mycontent.DAT.Gz

এ থেকে আনজিপড আকারটি কীভাবে ব্যাখ্যা করা যায় তা নিশ্চিত নন। সংকুচিত ফাইলের আকার 4 জিবি কাছাকাছি।

সুতরাং, আমি সঠিক তথ্য ক্যাপচার করার জন্য এই বিকল্পটি চেষ্টা করেছিলাম:

$ zcat mycontent.DAT.Gz | wc -c

এটি আমাকে এই ত্রুটি দেয়:

mycontent.DAT.Gz.Z:A file or directory in the path name does not exist.
0

উত্স ফাইলটি সঙ্কুচিত না করে কীভাবে শেল স্ক্রিপ্ট থেকে এই মানটি ক্যাপচার করবেন দয়া করে আমাকে বলতে পারেন?


আপনি কি সংরক্ষণাগারটির অখণ্ডতা সম্পর্কে নিশ্চিত? এটি নিজস্ব সংকুচিত আকারকে 7 1.7G হিসাবে প্রতিবেদন করে। যদি এটি সত্যিই 4 গিগাবাইট হয় তবে আমি অনুমান করব যে এখানে কোনও সমস্যা আছে।
টেরডন

উত্তর:


26

প্রশ্নের শিরোনামের উত্তর দিতে:

আমি জিপিপ ফাইলটির সংকোচিত আকারটি আসলে সংক্ষেপিত না করে কীভাবে পেতে পারি?

যেমন আপনি অবশ্যই জানেন, বিকল্পটি -l( --list) সাধারণত সঙ্কুচিত আকার দেখায়।
এটি যা দেখায় তা ডেটা থেকে গণনা করা হয় না, তবে সংকুচিত ফাইলের অংশ হিসাবে শিরোনামে সঞ্চিত ছিল।

আপনার ক্ষেত্রে, -lবিকল্পটি কোনও কারণে কার্যকর হয় না।
তবে কাঁচা সংকুচিত ডেটা থেকে সঙ্কুচিত আকারটি 'পরিমাপ' করা সম্ভব নয় - সংক্ষেপিত ডেটাতে অন্য কোনও কিছুর তথ্য নেই - যা অবাক হওয়ার মতো নয়, কারণ সংকোচনের বিন্দুতে প্রয়োজনীয় কিছু বাদ দিতে হয় না।

আপনার ডিস্কে zcat file.gz | wc -cসঙ্কুচিত ডেটা সংরক্ষণ করার দরকার নেই: এটি সঠিক পদ্ধতির - তবে @ ওলট্যাঞ্জের উত্তর হিসাবে, আপনার zcatমনে হয় এটি কোনওটি নয় gzip
বিকল্প ব্যবহার করছে gzipঅপশন -d( --decompress) এবং -c( --to-stdout), সঙ্গে মিলিত wcবিকল্প -c( --bytes):

gzip -dc file.gz | wc -c

13
-l: বিকল্প 4GB চেয়ে বড় ফাইলের জন্য একটি বাগ আছে bugs.debian.org/cgi-bin/bugreport.cgi?bug=149775
Flimm

6

আপনার zcatGNU zcat নয় বরং সংকোচনের থেকে। চেষ্টা করুন:

gzcat mycontent.DAT.Gz | wc -c
gzip -dc mycontent.DAT.Gz | wc -c

এটি উত্স ফাইলটি সংক্ষেপিত করে। হয়তো এটি ওপি চায়, তবে এটি প্রশ্নের উত্তর নয়।
মার্কো

আহ, এটি ব্যাখ্যা করে যে কেন এটি জেডে শেষ হওয়া কোনও ফাইলের সন্ধান করছিল
হেনেস


0

আমি ওয়েবে সমস্ত সাইট সন্ধান করছি এবং যখন ফাইলের আকার 4GB এর চেয়ে বড় হবে তখন এই সমস্যাটি পান না এমন সমস্যাটি সমাধান করবেন না।

আমার সমাধানটি হ'ল :

[ওরাকল @ বেস টিএমপি] $ সময়সীমা - সিগন্যাল = সাইন ইন 1s টার-টিভিএফ ওরাকল.20180303.030001.dmp.tar.gz
    -rw-r - r-- ওরাকল / oinstall 111828 2018-03-03 03:05 ওরাকেল.20180303.030001.log
    -rw-r ----- ওরাকল / অইনস্টল 6666911744 2018-03-03 03:05 ওরাকেল.20180303.030001.dmp

জিজেড ফাইল থেকে মোট আকার পেতে:

[ওরাকল @ বেস টিএমপি] $ প্রতিধ্বনি $ (টাইমআউট --signal = সাইন ইন 1s টার-টিটিভিএফ ওরাকাল .০৮০30০৩.০৩0001.dmp.tar.gz | awk '{মুদ্রণ $ 3}') | গ্রেপ-ও '[[: অঙ্ক:]] *' | awk '{যোগ + = $ 1} END {মুদ্রণের যোগফল}'
    6667023572

1
এটি যদি আপনি কেবল ব্যাখ্যা করেন যে এটি কেবল টারবলগুলির জন্য কাজ করে এবং আপনি এটি পরিষ্কার করেছেন (সময়সীমাটি প্রয়োজন হয় না এবং গ্রেপও হয় না) এটির চেয়ে ভাল উত্তর হবে।
kbolino
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.