fdupesまたは他の重複排除パッケージを使用して削除されたアーカイブを移動するためのスクリプト

fdupesまたは他の重複排除パッケージを使用して削除されたアーカイブを移動するためのスクリプト

PhotoRecを使用してファイルを回復した後、fdupesを実行しました$ fdupes -rdNI --sameline /home/user > fdupes.txt-d私のシステムから約160万個のファイルが回復したため、このオプションは使用できません。また、もはや重複するエントリが見つからなくなるまで、fdupesを数回実行しました。

問題は、fdupes.txt構造に多くの項目があることです(> 50 MB)。

   [+] /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つのステップでサブフォルダを含むフォルダを作成できますか?

答え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/。そうですか?これは何回実行する必要がありますか?

そうは思えませんが、確実ではありません...

可能であれば解決策があります:-)

関連情報