완료되지 않은 BitTorrent 다운로드에 속하는 파일 및 디렉터리를 식별하는 데 도움이 되는 프로그램이 있습니까? 엉망이었는데 어떤 다운로드가 완료되었고 어떤 다운로드가 완료되지 않았는지 잘 모르겠습니다. 토렌트 파일이 아직 남아 있다면 분명히 토렌트 클라이언트를 사용할 수 있지만 그렇지 않습니다. 그래서 식별할 수 있는 방법을 찾고 있어요.가능한완료되지 않은 토렌트 다운로드 - 100% 정확할 필요는 없습니다.
bt 클라이언트는 빈 파일을 생성하고 "구멍"(NULL 문자만 포함하는 파일 블록)이 있는 파일을 남겨두는 경우가 많으므로 이것이 가능한 후보를 찾는 좋은 방법일 수 있습니다. 불행하게도 나는 NULL 블록이 있는 파일을 찾는 데 유용한 Linux 명령을 모릅니다...
답변1
grep이 지원하는 경우 grep을 통해 확인할 수 있습니다.
grep -P '\x00{NNN}' File
여기서 NNN은 일치시키려는 연속 0바이트의 수입니다. 일반적으로 최대값은 USHRT_MAX 또는 65535입니다.
-P
사용해야 함\x00
오프셋을 나열하려면 다음을 사용하십시오.
grep -Pboa '\x00{NNN}' File
따라서 다음과 같은 방향으로 발전하십시오.
for f in *; do
[ -e "$f" ] || break
if grep -Pq '\x00{1000}' "$f"; then
mv "$f" ../likely_corrupt
fi
done
hexdump
그렇지 않으면 , xxd
또는 이와 유사한 것을 사용하여 에 일치시킬 수 있습니다 000...
.
hexdump -ve '/1 "%02X"'
그러나 이것은 매우 느릴 것입니다.
마지막으로 매우 짧은 C 프로그램도 동일한 작업을 수행할 수 있습니다.