私は今これを使用しています:
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