+ Responder ao Tópico



  1. Como adiciono no final desse script para ele apagar todos os arquivos da lista Del.txt.

    Ja tentei de tudo, mas por conter espaços nos nomes das pastas ele simplesmente não consegue apagar os arquivos.


    Código :
    #!/bin/bash
     
    #Script para localizar e apagar arquivos em seu HD.
    #Basta configurar os parametros desejados e executar o script em um terminal como ROOT.
    #
    #Não esquento de alterarem o script, mas mantem os creditos.
    #
    #By - Robson (CooperRJ / DarkAngel)
     
    ###  CONFIGURAÇÃO DE PARAMETROS.  #######################################################################
                                                        #
      ARQUIVOS="ini jpg png gif"            #Lista de extenções a serem removidas.            #
                                                        #
      PASTA="/media/DADOS/Meus Documentos/Músicas/"    #Pasta onde vai ser realizada a busca.            #
                                                        #
      LISTA="Del.txt"                #Arquivo onde vai ficar a lista de arquivos removidos.    #
                                                        #
      I=0                        #Variavel para contador (Não mexer)            #
                                                        #
    #########################################################################################################
     
     
    ### FUNCIONAMENTO ( NÃO MEXER ) #################################
                                    #
    rm $LISTA                            #
                                    #
     clear                                #
                                     #
     echo "Procurando arquivos"                    #
                                    #
                                      #
      # -- Executando a busca e adicionando no arquivo        #
      for BUSCA in $ARQUIVOS; do                    #
      BUSCA[i]=${BUSCA}                        #
      I=$(echo ${I}+1 | bc)                        #
      echo $BUSCA "-> listando e adicionando em $LISTA"        #
                                      #
      DELETAR=$(find "$PASTA" -name "*.$BUSCA" -print >> $LISTA)    #
      echo " ------ ------ ------ ------ -----------"        #
      done                                #
                                      #
      # SAIDAS NO TERMINAL                        #
      LINHA=$( cat $LISTA| wc -l)                    #
      if test "$LINHA" = "1"; then                    #
            echo "Nenhum arquivo encontrado."            #
                                     # 
      elif test "$LINHA" = "2"; then                #
            echo "1 arquivo encontrado."                #
                                    #
       elif test "$LINHA" > "2"; then                #
            echo  "$LINHA arquivos encontrados."            #
      fi                                #
      echo                                #
                                    #
    rm $DELETAR                            #
                                    #
                                    #
    ###  FIM DO SCRIPT   ############################################

    Agradeço a atenção.

  2. Existem duas formas para você fazer isso:

    1) Alterar o find do DELETAR para algo mais ou menos assim:

    DELETAR=$(find "$PASTA" -name "*.$BUSCA" -print | sed -e 's/ /\\ /g' >> $LISTA)
    Isso vai escapar os espaços e transformar cada linha em um nome único de arquivo.

    2) Trocar a linha do rm, no final do arquivo, para:

    cat $LISTA | while read line; do rm "$line"; done

    Isso vai fazer com que o nome do arquivo a ser removido fique entre aspas e, portanto, considerado como um nome único.

    O primeiro eu acho que seria mais fácil e usual. Mas a opção é sua.






Tópicos Similares

  1. Script com erro no mysql
    Por luizrfabri no fórum Servidores de Rede
    Respostas: 1
    Último Post: 01-06-2007, 13:46
  2. ambiente com erros ao iniciar
    Por maos no fórum Servidores de Rede
    Respostas: 2
    Último Post: 31-07-2005, 23:13
  3. Squid com erro ao restartar (urgente)
    Por PcGuy no fórum Servidores de Rede
    Respostas: 5
    Último Post: 15-07-2003, 11:40
  4. Script com erro Por favor alguem me ajude
    Por edilson no fórum Linguagens de Programação
    Respostas: 1
    Último Post: 12-01-2003, 23:09
  5. SARG com erro ao carregar
    Por calthc no fórum Servidores de Rede
    Respostas: 2
    Último Post: 11-12-2002, 15:11

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L