Bash
如何顯示和動態更新多行結果
我有一個腳本,它重複計算文件中的行數並顯示該數字,通過不斷地用輸入覆蓋先前的值來動態更新它。
echo "Checking in progress:" while true ; do outcount=$(cat /tmp/curl-check-result.txt | wc -l) echo -ne "Total checked IPs:" '\t'`cat /tmp/curl-check-result.txt | wc -l`'\r' if [[ $outcount -eq $numips ]]; then break fi done
但我想同時對另外兩個文件做類似的事情。像這樣的東西:
計數文件 1:*計數* 計數文件 2:*計數* 計數文件 3:*計數*
當我嘗試在一個腳本中添加類似的程式碼部分時,輸出行會相互覆蓋。我怎樣才能做到這一點?
man tput
看看你可以提供一個帶有可選參數的“capname”。
man terminfo (5)
看看有什麼可用於“capname”,很多功能。這是如何執行此操作的展示:
while true; do var1=$((var1+1)) var2=$((var2+2)) var3=$((var3+3)) printf "%s\n%s\n%s\n" "$var1" "$var2" "$var3" [ $var1 -ge 100 ] && break sleep 0.1 # move the cursor up 3 lines tput cuu 3 # clear to the end of screen tput ed done