Script com erro ao apagar a lista.

1. Script com erro ao apagar a lista.

Robson Estevam
cooperrj

(usa Debian)

Enviado em 06/07/2008 - 15:39h

Fiz um pequeno script para listar e apagar arquivos configurados na parte de parametros. Ele lista, porem ao apagar ele apresenta erros por existir espaços nos nomes das pastas.

Segue o script abaixo.



#!/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 ############################################


  


2. Re: Script com erro ao apagar a lista.

Denis Doria
thuck

(usa Debian)

Enviado em 06/07/2008 - 17:44h

Coloque oq deseja deletar entre aspas duplas:

thuck@thuck:~/pspiso/test$ touch "a b c"
thuck@thuck:~/pspiso/test$ ls
a b c
thuck@thuck:~/pspiso/test$ ls|cat -A
a b c$
thuck@thuck:~/pspiso/test$ ARQ=$(ls *)
thuck@thuck:~/pspiso/test$ echo $ARQ
a b c
thuck@thuck:~/pspiso/test$ rm $ARQ
rm: imposível remover `a': Arquivo ou diretório não encontrado
rm: imposível remover `b': Arquivo ou diretório não encontrado
rm: imposível remover `c': Arquivo ou diretório não encontrado
thuck@thuck:~/pspiso/test$ rm "$ARQ"
thuck@thuck:~/pspiso/test$ ls
thuck@thuck:~/pspiso/test$







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts