Үлкен көлемдегі файлдарда (ішіндегі .rar байланысы) нақты хешті табу

Онда белгілі бір MD5 хеші үшін қатты дискіні тазартатын бағдарламалар бар ма? .Zip немесе .rar файлдарында орналасуы мүмкін хэштерді іздеймін.

Бұл үшін Python сценарийлерін жазуға тырыстым, бірақ кейбір ағылшын тіліндегі файл атауларымен проблемалар туындады.

Мәселен ... қазірдің өзінде осындай нәрсе бар ма? Бос және ашық көзден үміттенесіз бе?

0

1 жауаптар

Мен түсінбеймін: белгілі бір MD5 сомасының файлын табуға немесе дискідегі MD5 жолдарын (яғни 32 цифра сан) табу керек пе?

Егер сіз осы MD5 сомасының файлын таба алсаңыз (мұнда 01234a4d035addca808644a0163abcdef ), мен әр файлдың MD5-ін есептеу үшін, мысалы, іске қосуға тырысамын (бірақ уақытты талап етеді).

find -type f -exec md5sum '{}' \; > /tmp/allmd5sum.txt

(мысалы, fgrep 01234a4d035addca808644a0163abcdef /tmp/allmd5sum.txt ), ішіндегі берілген MD5 сомасын іздеңіз.

Of course, be careful when running find (so read its documentation), in particular to avoid file trees like /proc or even /tmp

0
қосылды
Уақытша каталогтағы файлды ашып алып, оны қайталап, ішіндегі сценарийді қайта шығаруға болады.
қосылды автор Basile Starynkevitch, көзі
Енді не? Алғашқы сценарийлерді олардың ішкі жиынын сынап көріңіз. Сіз сұрайтын нәрсе - қарқынды өңдеу, сондықтан біраз уақыт қажет. Сіздің сценарийіңіз .zip немесе .rar файлын аяқтаған соң уақытша каталогты алып тастай алады.
қосылды автор Basile Starynkevitch, көзі
Бұл шынымен жақын! Мен барлық .rar және .zip файлдарындағы барлық файлдардың md5-файлдарын рекурсивті түрде қажет етпейсіз (бұл жерде қалталар немесе қысылған файлдар болуы мүмкін). Бұны қалай жасау керектігін қалай өзгертуге болатынын кез-келген ой.
қосылды автор Fran Fitzpatrick, көзі
Менде .rar және .zip файлдарының мыңдағаны болса, менде бар, бірақ ...
қосылды автор Fran Fitzpatrick, көзі
Жарайды, сондықтан бұл сіз берген нәрсеге негізделген нәрсе. Мен негізгі файл құрылымын сақтай отырып, үзіндіні алу үшін уақытша каталогтарды жасай аламын, сондықтан әрбір файл қай жерде физикалық орналасқанын білемін.
 for  find in foo. -name «* .rar» ; export temp =/tmp/ echo $ foo | жасаңыз sed 's: \.: ^: g' | $ 's & $ $ temp-type f -exec md5sum' {} 'дегенді табыңыз: /: =: g'  && mkdir $ temp && unrar x $ foo $ temp && >> /tmp/allmd5sum.txt && rm -rf $ temp; орындалды; 
қосылды автор Fran Fitzpatrick, көзі