近來在CentOS系統操作中,使用wget下載文件的時候出現下載進度條多行顯示的問題,系統之家的小編了解到,不少人也出現這樣的問題,那麼是什麼原因導致的呢?又該如何解決呢?
在之前為了解決Putty客戶端連接到CentOS之後顯示亂碼的問題,設置了 LANG=zh_CN.UTF-8 之後,在使用wget下載的時候,wget下載進度條異常,竟然不能在一行顯示了,變成了坑爹的多行顯示,每一個周期wget自動會產生新的一行,結果下載進度慢點的文件,不用一會兒整個屏幕就全是wget進度條的天下了。
代碼如下:
wget 的進度條變成了悲催的屏幕殺手,滿屏幕都是下面這樣的。。。(=號省略無數個)《/p》 《p》99% [==========================================》 ] 10,416,337 6.09K/s eta(英國中部時
99% [==========================================》 ] 10,419,241 6.10K/s eta(英國中部時
99% [==========================================》 ] 10,419,241 5.73K/s eta(英國中部時
99% [==========================================》 ] 10,425,049 5.79K/s eta(英國中部時
99% [==========================================》 ] 10,427,953 5.65K/s eta(英國中部時
100%[===========================================》] 10,431,288 5.65K/s in 27m 12s
這和原來的一行顯示進度條的節奏完全不同啊。後面才發現這是因為翻譯的時候,eta被轉成eta(英國中部時間),導致整個輸出太長,引起了斷行,導致下次輸出必須從新行開始。
再後來,發現網上也有很多人出現這個問題,關鍵是,這個問題從很早之前就一直存在,修改起來倒還是挺快的。
代碼如下:
#注意文件路徑是在:/usr/share/locale/zh_CN/LC_MESSAGES/《/p》 《p》cd /usr/share/locale/zh_CN/LC_MESSAGES/
#先重命名
mv wget.mo wget.mo.bak
#從重命名後的文件裡替換eta(英國中部時間)為ETA,並導出新文件
msgunfmt wget.mo.bak -o - | sed ‘s/eta(英國中部時間)/ETA/’ | msgfmt - -o wget.mo
TIPs:
1. 如果沒有msgunfmt 和msgfmt,請安裝 gettext(沒有直接找到安裝msgunfmt和msgfmt的方式) 。
2. 以上命令本人是在root用戶下操作
上面就是CentOS系統中wget下載進度條多行顯示問題的解決方法的介紹了,該問題主要是翻譯出錯導致,只要簡單修改下就能解決了。