Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > Linguagens de Programação > Programação > shell script
Wiki Classificados Reviews Jogos Grupos Sociais RSS Feeds FAQ Termos de Uso Contato Sobre
Registrar Fotos Membros Calendário Pesquisar Postados Hoje Marcar Fóruns Como Lidos

Script com erro ao remover.



Quer ver menos banners de publicidade ? Entao Cadastre-se!

Tópico Trancado
 
LinkBack Ferramentas do Tópico
Antigo 06-07-2008, 16:35   #1 (permalink)
Padrão Script com erro ao remover.

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.
__________________
Linux User ID - #471201
Blog - http://robsonestevam.blogspot.com

"Não espere nada cair do céu, vai la você mesmo e derrube!"
"Quando tudo estiver dando errado em sua vida, estufa o peito, levante a cabeça e diga 'É Fudeu!"
"Drogas? To fora! Saí para comprar!"
"Pergunta: Qual é a diferença entre windows e o vírus?
Resposta: O vírus funciona..."

"Antes de realizar a pergunta, procure a resposta."
 
Avatar de cooperrj
 
Registrado em: Feb 2007
Localização: Rio de Janeiro
Distribuição: Debian
Idade: 21
Posts: 86
Agradeceu: 1
Agradecido 3 vez(es) em 3 Posts
Envios no Blog: 3
Reputação: 31 cooperrj
Enviar mensagem via ICQ para cooperrj Enviar mensagem via Windows Live Messenger para cooperrj Enviar mensagem via Skype para cooperrj
cooperrj está offline  
Antigo 07-07-2008, 11:22   #2 (permalink)
Padrão

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.
__________________
Frederico Freire Boaventura (Galahad)
LPIC-II | MCP

A resposta ajudou? Agradeça!

"Linux poses a real challenge for those with a taste for late-night hacking (and/or conversations with God)."
(By Matt Welsh)
Super Moderador
 
Avatar de galahad
 
Registrado em: Jun 2008
Localização: Espírito Santo
Distribuição: Gentoo
Posts: 250
Agradeceu: 10
Agradecido 50 vez(es) em 48 Posts
Reputação: 42 galahad galahad
galahad está offline  
Tópico Trancado

Tags
bash, shell script

Ferramentas do Tópico

Regras para Posts
Você não pode postar novos tópicos
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar seus posts

Código [IMG] Sim
Código HTML Não
Trackbacks are Sim
Pingbacks are Sim
Refbacks are Sim

Ir para...

Tópicos Similares
Tópico Tópico Iniciado Por Fórum Respostas Última Mensagem
Script para remover usuarios da aba active antoniocarlosd Mikrotik 1 18-04-2008 00:36
Script para remover backups antigos automaticamente?? fhalves Iniciantes 4 28-11-2006 20:32
Shell Script - Remover espacos. terra_jr Programação 5 15-05-2006 21:32
script para adicionar e remover usuário tanto no unix quanto no samba FAHHAM Programação 1 20-04-2006 09:15
Erro estranho após remover o qmail. cag Adm. em Geral 3 13-12-2005 11:35

Horários baseados na GMT -3. Agora são 17:41.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.