ファイルを処理するプログラムがあります。 ls | wcを使用すると、次のようにファイル数が減っていることを確認できます。
ubuntu@h:/home/user/data/013176$ ls -1 | wc
3245666 29210987 246670579
ubuntu@h:/home/user/data/013176$ ls -1 | wc
2768811 24919292 210429599
ubuntu@h:/home/user/data/013176$ ls -1 | wc
2662466 23962187 202347379
時間が経つにつれて、次の内容を表示できるようにファイルの使用率を計算するツールがあるかどうか疑問に思います。
Current File Count: 2662466 rate = 5.6/s
現在の回数と速度に基づいて完了時間を予測できる場合は、より良いでしょう。
ベストアンサー1
非常に単純な概念証明で必要な作業を実行できます。
#!/bin/bash
initial_state=$(ls -1 | wc -l)
sleep 1
current_state=$(ls -1 | wc -l)
rate=$(echo $initial_state - $current_state | bc)
eta=$(echo $current_state / $rate | bc)
echo "Current file count: $current_state rate = $rate /s"
echo "Aprox. time to completion: $eta"
これは、実行中のディレクトリの初期状態を読み取り、(およそ)1秒後に再確認してから、1秒あたりの出力変更率を提供します。そこから近似値を計算するのは簡単です。完全な時間。
編集:非常にシンプルでおおよその完了時間が追加されました。
編集:リアルタイムアップデートを取得するには、スクリプトに単純なwhileループを追加できますが、そうすると実行中の端末がロックされます。