एक्सल-कमांड-लाइन-डाउनलोडर सिर्फ प्रगति दिखाते हैं?


0

क्या एक्सल कमांड से सभी आउटपुट को छिपाने का कोई तरीका है लेकिन DO NOT HIDE progress bar। मैं जैसे आउटपुट प्राप्त करना चाहता हूं;

[  5%] [0            1           2            3           ] [  567,5KB/s] [15:59]

यह आउटपुट, axel -aलेकिन यह हमेशा हर चरण को प्रिंट करता है, हालांकि मैंने ~ / .axelrc और / etc / axelrc संपादित किया, # verbose = 1जिसके साथ मैं बदल गया 0 । मैं इसे पृष्ठभूमि की तरह नहीं भेजना चाहता command &। क्या तुम्हारे पास कोई विचार है? कृपया wgetमत भूलिए कि मैं ऐसा कर सकता हूं, -nv --show-progressलेकिन मैं एक्सल के लिए कोई विकल्प नहीं है।

जवाबों:


1

एक bashटर्मिनल में, आप उपयोग कर सकते हैं:

axel -a http://url | awk -W interactive '$0~/\[/{printf "%s'$'\r''", $0}'

-W interactiveAwk के साथ लाइन-बफ़र पढ़ता है और stdout को असंबद्ध लिखता है। फिर लाइन में awkएक खोज [करता है और इसे एक ^Mचरित्र के साथ प्रिंट करता है $'\r'

आप इसके लिए एक फ़ंक्शन भी लिख सकते हैं:

function axel_progress {
  axel -a "$1" | awk -W interactive '$0~/\[/{printf "%s'$'\r''", $0}'
}

अब आप इसके axelद्वारा कॉल कर सकते हैं :

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