[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Script para remoção de arquivos com exceção
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] Script para remoção de arquivos com exceção |
Date: |
Tue, 6 Feb 2007 12:07:35 -0200 |
Sergio,
todas os argumentos que vc passa para um programa, comando ou função
no bash , incluindo o -exec do find, são lidos do começo para o fim
da linha de instrução. Alguns caracteres especiais podem terminar essa
leitura, como o caso de um comentario :
echo ola # isso nao sera impresso
o '\n' nova-linha e o ';' são sinais que a linha de instrução terminou
ls ; echo 'fim'
isso vale para os pipes, quando vc coloca um | grep ... apos o seu
find, a sua linha de instrução termina ali, e logo começa uma outra.
Vc teria q substituir então a opção -exec por alguma instrução que
fizesse algo semenhante.
Vc pode continuar a lógica usando um terceiro pipe para um xargs, de uma olhada
http://pastebin.com/876672
(tomei a liberdade para simplificar o script ao meu bel prazer, numa
atividade nerd relaxante ao som de pink floyd)
Deve funcionar agora, dê uma olhada. Abraço.
On 2/6/07, Sergio Maia Rabelo <address@hidden> wrote:
Olá pessoal, olhando alguns scripts aqui na lista de remoção de arquivos no
servidor, resolvi mesclar dois deles mas está acontecendo um erro no comando
exec.
Vejam o erro e abaixo segue o script.
extensao: line 12: -exec: command not found
#!/bin/bash
echo -n "Digite o diretorio de partida: "
read DIR
echo -n "Existe algum diretorio de excecao: "
read RESP
if [ $RESP = "S" ]
then
echo -n "Digite o diretorio de excecao: "
read DIR1
echo -n "Digite entao a extensao: "
read EXT
find $DIR -iname "*.$EXT"|grep -vE $DIR1|-exec rm {} \;
echo "Arquivos apagados! Aguarde..."
sleep 3
exit
elif [ $RESP = "N" ]
then
echo -n "Digite a extensao:"
read EXT1
find $DIR -iname "*.$EXT1" -exec rm {} \;
echo "Arquivos apagados! Aguarde..."
sleep 3
fi
exit
Valeu pessoal!
Sérgio Maia
[As partes desta mensagem que não continham texto foram removidas]
--
Tiago B Peczenyj
Linux User #405772
# cd /pub
# more beer