fdupes 또는 기타 중복 제거 패키지를 사용하여 삭제된 보관 파일을 이동하기 위한 스크립트

fdupes 또는 기타 중복 제거 패키지를 사용하여 삭제된 보관 파일을 이동하기 위한 스크립트

PhotoRec을 사용하여 파일을 복구한 후 fdupes를 실행했습니다 $ fdupes -rdNI --sameline /home/user > fdupes.txt. -d내 시스템에서 약 160만 개의 파일이 복구되었으므로 이 옵션을 사용할 수 없습니다 . 또한 더 이상 중복 항목이 발견되지 않을 때까지 fdupes를 몇 번 실행했습니다.

문제는 fdupes.txt구조에 많은 항목이 있다는 것입니다(>50MB).

   [+] /home/user/recup/jar/f105168728.jar
   [-] /home/user/a/path/to/dir/and/file/myfile_1.ending
   [-] /home/user/another/path/to/dir/and/file/myfile_2.ending

"복구" 파일을 디렉터리에서 주문한 경로로 이동하는 스크립트나 프로그램이 이미 작성되어 있습니까?

$ find /home/user/ -depth -type d -empty -exec rmdir {} \;나중에 거기에 갈 것이기 때문에 많은 디렉토리가 거기에 없을 것입니다 .

Python(스크립트) 또는 다른 언어를 사용하여 한 단계로 하위 폴더가 포함된 폴더를 만들 수 있나요?

답변1

내가 작성한 스크립트는 다음과 같습니다 python3.

import os
import sys
import ast
import time
import signal

n = 1
from = 'asdf'
into = 'asdf'
d = '/home/user/fdupes.txt'
f = open ( d, "r" )

from = f.readline ()
into = f.readline ()

while '/' in from or '/' in into :
 if ( '[+] /home/user/recup/' in from ) and not ( 'recup' in into ) and ( '[-] /home/user/' in into ) :
  from = from.split ( '[+] ' ) [1]
  from = from.split ( '\n' ) [0]
  into = into.split ( '[-] ' ) [1]
  end = into
  ( into, name ) = os.path.split (into)
  end = end.split ( '\n' ) [0]
  if os.path.isfile (from) :
   if not os.path.isfile (end) :
    if not os.path.isdir (into) :
     os.makedirs (into)
    os.rename (from, end)
 else :
  from = into
  into = f.readline ()
 n += 1
f.close ()
print ("Ready!")

home/user/sub/dir/of/a/file/하지만 빈 것이 있을 때와 같은 것을 만들 수는 없을 것 같아요 home/user/sub/dir/. 그렇죠? 이거 몇 번이나 실행해야 하나요?

그럴 것 같지는 않은데, 확실하진 않아요...

가능하다면 해결책이 있습니다 :-)

관련 정보