Shell-Script如何實時更新
如何實時更新wc -l
?
我有一個命令
<streaming ls> | wc -l
,它工作正常,但<streaming ls>
需要一段時間,這意味著我要等幾分鐘後才能得到最終的行數。有沒有辦法
wc -l
實時輸出更新?
您不能
wc -l
為此使用,但您可以使用其他工具(例如 AWK)生成執行的行數:<streaming ls> | awk '{ printf "%d\r", NR } END { print }'
這將更新每次看到一行時看到的行數,並在程序結束時以總行數結束。
你可以
pv
用來給你一些進度報告:cmd | pv -lbtr | wc -l
-l
對於基於行的(報告行數而不是字節數)。-b
報告字節數(這裡的行是因為-l
)-t
報告花費的時間-r
報告目前速率(每秒行數;另請參閱-a
平均速率)。請注意,文件名可以由多行組成,因此除非您使用類似or的選項將文件名中的換行符轉義為or ,否則不能保證
wc -l
輸出為ls
您提供文件計數。-b``-q``\n``?