পিভি (অগ্রগতি বার) এবং জিজিপ


10

কেন এটি সম্ভব নয়?

pv ${dest_file} | gzip -1

pv একটি অগ্রগতি বার

ত্রুটি

gzip: compressed data not written to a terminal. Use -f to force compression.
For help, type: gzip -h
   0 B 0:00:00 [   0 B/s] [>                                   ]  0%

এইটা কাজ করে

pv ${file_in} | tar -Jxf - -C /outdir

1
আপনি কি অর্জন করার চেষ্টা করছেন? আপনি কি ডকস pvএবং gzipকমান্ড পড়েন ?
জাকুজে

উত্তর:


24

আপনি যেটি অর্জন করার চেষ্টা করছেন তা হ'ল সংক্ষেপণ প্রক্রিয়ার অগ্রগতি বারটি দেখা। তবে এটি ব্যবহার করা সম্ভব নয় pv। এটি কেবল স্থানান্তর অগ্রগতি দেখায়, যা আপনি এরকম কিছু দ্বারা অর্জন করতে পারেন (যাইহোক, এটি গুগলের প্রথম লিঙ্ক ):

pv input_file | gzip > compressed_file

অগ্রগতি বারটি দ্রুত চলবে এবং তারপরে এটি সংকোচনের জন্য অপেক্ষা করবে, যা আর ব্যবহারের মতো পর্যবেক্ষণযোগ্য নয় pv

তবে আপনি অন্যভাবে এটি করতে পারেন এবং আউটপুট স্ট্রিমটি দেখতে পারেন, বট এখানে আপনি আসল অগ্রগতি দেখতে সক্ষম হবেন না, কারণ pvসংকুচিত ফাইলটির আসল আকার জানেন না:

gzip input_file | pv > compressed_file

কমান্ডলাইনফু থেকে এখনও অবধি আমি যে সেরাটি খুঁজে পেয়েছি তা হ'ল রেট সীমাবদ্ধকরণ এবং ডিরেক্টরিগুলির সংকোচনের সাথেও:

$D=directory
tar pcf - $D | pv -s $(du -sb $D | awk '{print $1}') --rate-limit 500k | gzip > target.tar.gz

অগ্রগতি বারটি কাজ করছে নাgzip input_file | pv > compressed_file
ক্লার্ক

এটি, তবে এটি সংকোচিত ফাইলের পুরো আকারটি জানে না তাই এটি কেবল পাশ থেকে পাশের স্ক্যান করে। প্রথমটি সম্ভবত আরও ভাল।
জাকুজে

অগ্রগতি বারটি আমার পক্ষে দ্রুত চলবে না।
মাইকেজটার

1
gzip -cস্টাডাউটে এটি পাস করার জন্য আউটপুট প্রেরণ করা প্রয়োজন pv, অন্যথায় প্রগতি বার কাজ করবে না কারণ কোনও তথ্য নেই pv :)
ডেভিড গার্ডনার

ভকভগক! আপনি এই জাতীয় কিছু দিয়ে এটি অর্জন করতে পারেন mysqldump ... | gzip | pv > output.sql.gz
jevon

4

হ্যাঁ, ফাইলের লাইনগুলি ব্যবহার করে বাইটগুলি ব্যবহার করা সম্ভব নয়। আপনি একটি সঠিক যথেষ্ট অগ্রগতি বার পাবেন:

cat input_file | pv -ls $( wc -l input_file ) | gzip -c -- > compressed_file

1

শতাংশের অগ্রগতি পেতে আপনি এর পরিবর্তে 7z ব্যবহার করতে পারেন:

$ 7z a spaCy.tar.gz spaCy.tar 

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,8 CPUs Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (906E9),ASM,AES-NI)

Open archive: spaCy.tar.gz
--
Path = spaCy.tar.gz
Type = gzip
Headers Size = 20

Scanning the drive:
1 file, 326451200 bytes (312 MiB)

Updating archive: spaCy.tar.gz

Items to compress: 1

 32% U spaCy.tar   
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.