md5sumに関する進捗状況を確認するための良い「進捗状況バー」はありますか?

md5sumに関する進捗状況を確認するための良い「進捗状況バー」はありますか?

私は今これを使用しています:

time md5sum -c *.txt | pv | grep -v ': OK$'

しかし、まだ確認していないファイルの数を一覧表示するスマートソリューションはありますか?つまり、ディレクトリの.txtファイルにmd5sumがたくさんあるので、これを確認する必要がありますが、スキャンするファイルがどれだけあるかを知っておくとよいでしょう。

ps:したがって、これは実際には進行状況バーではなく、「md5sum -c FILENAME」に残っているファイル数を出力するカウンタです。

ベストアンサー1

md5sum名前を1つずつ渡すことができます。

n=$(cat *.txt | wc -l)
cat *.txt | {
  i=0 bad=0
  while IFS= read -r line; do
    i=$((i+1))
    echo "Checking file $i/$n: $line"
    echo "$line" | md5sum -c - || bad=$((bad+1))
  done
  [ $bad -eq 0 ] || { echo "$bad bad checksums"; false; }
}

あるいは、一時的な目的で使用するには、単純なコマンドを実行して開いmd5sumているファイルを確認して、どのファイルが実行されているかを確認できます。

lsof -p1234
# note the file name
cat *.txt | grep -n FILENAME

おすすめ記事