[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Como fazer um script rm -rf com | grep.
From: |
jeffdiasdosantos |
Subject: |
Re: Como fazer um script rm -rf com | grep. |
Date: |
Tue, 03 Jan 2006 17:27:23 -0000 |
User-agent: |
eGroups-EW/0.82 |
Galera obrigado pela atençao da lista.
Seguinte a dica que mais se enquadra a minha realidade é a Mauricio
com uma variavel e depois um for. Mais fiz um script basicao e quero q
deem uma olhada.
#!/bin/bash
echo "SELECIONANDO ARQUIVOS PARA SEREM DELETADOS"
VAR=`ls -l | grep 2005-12-21 | tr -s ' ' | cut -d ' ' -f8`
for ARQUIVO in "$VAR"
do
rm -rf $ARQUIVO
done
echo "ARQUIVOS DELETADOS COM SUCESSO"
Copiando o script do Mauricio, agora queria criar uma interatividade
do tipo:
Qual data deseja deletar os arquivos?
Para nao ter que entrar no script e modificar o grep toda vez que eu
quizer executar este script.
Tipo tenho que criar uma variavel para o grep? Como?
Agradeço a galera do Find. Vou deletar arquivos de um só diretorio em
especifico, acredito q se fizer com o find vou deletar todos os
arquivos criados nesta data e esta nao é minha intençao. Se eu estiver
errado por favor me corrijam.
Obrigado.
Jefferson Dias
11-5503-2819
11-8195-3997
address@hidden
--- Em address@hidden, Humberto Pereira
<humberto.pereira@p...> escreveu
>
> Acredito q ele queira apagar dados criados em determinada data.
> Infelizmente o find nao te dah esse suporte, mas voce pode brincar um
> pouco com o date p/ isso.
>
> # pega o timestamp da data anterior
> oldTimestamp=`date --date="$data" +%s`
>
> # pega o timestamp da data atual
> actualTimestamp=`date +%s`
>
> # qtos segundos desde a data atual ate hj?
> secs=`expr $actualTimestamp - $oldTimestamp`
>
> # isso sao qtos dias?
> days=`expr $secs / 86000`
>
> # busca arquivos criados nesse dia e apaga eles
> find ./ -ctime $days -exec rm -fr {}
>
>
> Espero q ajude.
> []s
> Humberto Pereira
>
>
> MrBiTs wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> >
> >>Galera sou novo na lista e a companho, todos os emails com duvidas da
> >>galera. Mais ainda nao vi nada parecido com o que tenho de duvida
entao
> >>resolvi perguntar.
> >>Seguinte precido de um scritp que delete alguns arquivos pela data e
> >>nao pelo nome dos mesmos. Algo do tipo.
> >>rm -rf | grep 2005-12-21
> >>
> >>Isso passando o dia, mais nao consigo deleta-lo pois falta algo ate
> >>mesmo neste comando.
> >>Alguem pode me ajudar?
> >
> >
> > Já foi abordado, sim. O que você quer é apagar todos os arquivos ou
> > diretórios que tenham em seu nome o 2005-12-21. Para isso você
pode usar
> > um simples find:
> >
> > $ find . -name "*2005-12-21" -exec rm -rf {} \;
> >
> > Se o problema é um pouco diferente e você quer apagar arquivos que
foram
> > criados há uma semana, você pode fazer algo como:
> >
> > $ find . -ctime +7 -exec rm -rf {} \;
> >
> >
> >
> > - --
> > GPG Public Key
> > http://keyserver.veridis.com:11371/export?id=-6037232142263389818
> >
> > \\|||//
> > (.) (.)
> > - ----ooOO--( )--OOoo-----
> > MrBiTs
> > http://www.mrbits.com.br
> > mrbits@t...
> > - ------------------------
> > -----BEGIN PGP SIGNATURE-----
> > Version: GnuPG v1.4.1 (GNU/Linux)
> > Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
> >
> > iD8DBQFDup1/rDdxWm3R8YYRAh8pAKCQCoIROOcSZHE5k1UABZGG0kl6MgCeORIp
> > 7iLePV1Rp39/3jjv1CcA5ME=
> > =agPe
> > -----END PGP SIGNATURE-----
> >
> >
> > ---------------------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de
programação, como perl, C etc. Quem insistir em não seguir esta regra
será moderado sem prévio aviso.
> > ---------------------------------------------------------------------
> > Sair da lista: address@hidden
> > ---------------------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
> > ---------------------------------------------------------------------
> >
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
>