md5sum과 관련하여 진행 상황을 확인하기 위한 좋은 "진행률 표시줄"이 있습니까?

md5sum과 관련하여 진행 상황을 확인하기 위한 좋은 "진행률 표시줄"이 있습니까?

나는 지금 이것을 사용하고 있습니다 :

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

하지만 아직 확인하지 않은 파일 수를 나열하는 스마트 솔루션이 있습니까? 즉, 디렉터리의 .txt 파일에 md5sum이 많이 있으므로 이를 확인해야 하지만 스캔할 파일이 얼마나 더 있는지 아는 것이 좋을 것입니다.

ps: 따라서 이는 실제로 진행률 표시줄이 아니라 "md5sum -c FILENAME"에 남아 있는 파일 수를 출력하는 카운터일 뿐입니다.

답변1

md5sum이름을 하나씩 전달할 수 있습니다 .

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

관련 정보