Pv
pv中的傳輸率表中顯示的單位可以更改嗎?
在
pv
中,速率計顯示為47.5MiB 0:00:00 [ 165MiB/s] [================================>] 100%
其中用於傳輸統計的單位是
MiB
(1024 字節)。是否可以將此單位更改為MB
(1000 字節)?
Linux 的好處是您可以訪問原始碼,因此如果您付出努力,幾乎總是可以更改某些內容以執行您希望它執行的操作。
在這種情況下,下載原始碼並查看它們是否很明顯要更改的內容並不難。然後重建你自己的
pv
二進製文件。如果您使用的是rpm
基於系統的系統,請嘗試以下操作(作為普通使用者):$ yumdownloader --source pv
(即使你有 dnf 而不是 yum,這也應該可以工作)。您最終應該得到一個後綴為
.src.rpm
. 名稱的其餘部分將根據您的版本而有所不同。安裝並編譯它:$ rpm -i pv-1.6.0-1.fc22.src.rpm $ rpmbuild -bc ~/rpmbuild/SPECS/pv.spec
您無需成為 root 即可安裝原始碼,因為它們已放入
~/rpmbuild
. 但是,您可能需要安裝rpmbuild
和其他軟體包來進行編譯。您應該在以下位置獲得正常的最終二進制 pv:$ file ~/rpmbuild/BUILD/pv-1.6.0/pv
搜尋來源,比如 MiB,以找到可能的變化。我發現
~/rpmbuild/BUILD/pv-1.6.0/src/pv/display.c
有一個常式pv__si_prefix()
接受一個參數is_bytes
來確定是除以 1000 還是 1024。我只是編輯了這個常式,通過添加將其強制為 0is_bytes = 0;
就在聲明之後(之前
if (is_bytes) {
)。然後make
按如下方式重新編譯二進製文件:$ cd ~/rpmbuild/BUILD/pv-1.6.0/ $ make
新
pv
文件應該做你想做的事。在
deb
包裝系統上,您需要執行類似的步驟:$ sudo apt-get install dpkg-dev debhelper $ apt-get source pv $ cd pv-1.6.0/ $ dpkg-buildpackage -b -nc ... edit src/pv/display.c $ make