AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 409164
Accepted
Nepumuk
Nepumuk
Asked: 2017-12-07 02:53:03 +0800 CST2017-12-07 02:53:03 +0800 CST 2017-12-07 02:53:03 +0800 CST

script para mover arquivos mantidos excluídos com fdupes ou outro pacote de desduplicação

  • 772

Depois de recuperar meus arquivos com o PhotoRec, executei fdupes $ fdupes -rdNI --sameline /home/user > fdupes.txt. Não pude usar a opção -dporque cerca de 1,6 milhão de arquivos em meu sistema foram recuperados. Também executei o fdupes várias vezes até que não encontrasse mais duplicatas.

O problema é que recebi muitas entradas em fdupes.txt(> 50 MB) estando na estrutura de

   [+] /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

Existe um script ou programa já escrito que move os arquivos 'recuperar' para o caminho onde os organizei em meus diretórios?

Muitos dos diretórios não estarão lá porque eu também fiz $ find /home/user/ -depth -type d -empty -exec rmdir {} \;depois.

Posso criar pastas com subpastas em uma única etapa em python (script) ou outra linguagem?

data-recovery scripting
  • 1 1 respostas
  • 186 Views

1 respostas

  • Voted
  1. Best Answer
    Nepumuk
    2017-12-21T04:16:54+08:002017-12-21T04:16:54+08:00

    Aqui está um script python3que escrevi:

    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!")
    

    Mas acho que não pode criar nada como home/user/sub/dir/of/a/file/quando há um vazio home/user/sub/dir/, pode? Eu tenho que executá-lo várias vezes para isso?

    Acho que não, mas também não tenho certeza...

    Se puder, eu tenho uma solução :-)

    • 0

relate perguntas

  • Uma maneira rápida de duplicar um site (Wordpress) no meu ambiente de servidor Nginx?

  • problema ao iniciar aplicativos: linha de comando vs. gui

  • Shell Script para encontrar string no arquivo de log

  • Qual é a diferença entre dd_rescue e ddrescue, quando preferir qual?

  • Renomeie (acrescentar) arquivos CSV em massa com base em um valor dentro

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Matriz JSON para bash variáveis ​​usando jq

    • 4 respostas
  • Marko Smith

    A data pode formatar a hora atual para o fuso horário GMT? [duplicado]

    • 2 respostas
  • Marko Smith

    bash + lê variáveis ​​e valores do arquivo pelo script bash

    • 4 respostas
  • Marko Smith

    Como posso copiar um diretório e renomeá-lo no mesmo comando?

    • 4 respostas
  • Marko Smith

    conexão ssh. Conexão X11 rejeitada devido a autenticação incorreta

    • 3 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Marko Smith

    comando systemctl não funciona no RHEL 6

    • 3 respostas
  • Marko Smith

    rsync porta 22 e 873 uso

    • 2 respostas
  • Marko Smith

    snap /dev/loop em 100% de utilização -- sem espaço livre

    • 1 respostas
  • Marko Smith

    chave de impressão jq e valor para todos no subobjeto

    • 2 respostas
  • Martin Hope
    EHerman Matriz JSON para bash variáveis ​​usando jq 2017-12-31 14:50:58 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Drux A data pode formatar a hora atual para o fuso horário GMT? [duplicado] 2017-12-26 11:35:07 +0800 CST
  • Martin Hope
    AllisonC Como posso copiar um diretório e renomeá-lo no mesmo comando? 2017-12-22 05:28:06 +0800 CST
  • Martin Hope
    Steve Como as permissões de arquivo funcionam para o usuário "root"? 2017-12-22 02:46:01 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST
  • Martin Hope
    Cbhihe Altere o editor padrão para vim para _ sudo systemctl edit [unit-file] _ 2017-12-03 10:11:38 +0800 CST
  • Martin Hope
    showkey Como baixar o pacote não instalá-lo com o comando apt-get? 2017-12-03 02:15:02 +0800 CST
  • Martin Hope
    youxiao Por que os diretórios /home, /usr, /var, etc. têm o mesmo número de inode (2)? 2017-12-02 05:33:41 +0800 CST
  • Martin Hope
    user223600 gpg — o comando list-keys gera uid [ desconhecido ] depois de importar a chave privada para uma instalação limpa 2017-11-26 18:26:02 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve