shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: xargs com rm e logs


From: Julio C. Neves
Subject: Re: [shell-script] Re: xargs com rm e logs
Date: Thu, 10 Nov 2011 19:47:01 -0200

Fala Paulo Henrique,
a opção -fls algumas vezes esbarra em alguns problemas (como nomes de
arquivos com espaços em branco, p.ex.). Uma outra forma de fazer isso é
usando a opção -I do xargs. Algo assim:

$ find /data -mtime +5 -type f | xargs -I{} bash -c "rm -fv '{}'; ls -l
'{}'" > $LOGS/removidos

Neste caso, a opção -I do xargs joga para o token definido ({}) os dados
recebidos pela entrada padrão (|). Como o xargs atua sobre uma instrução
somente, usei o bash -c, pois por intermédio dele consigo executar o rm e o
ls -l.

Repare que as chaves estão entre apóstrofes e, assim sendo, espaços em
nomes de arquivos estão devidamente protegidos da interpretação do shell.

Bom isso, né? ;)

Abcs,
Julio
*Quer aprender tudo de Shell em 2 fins de semana?*
*  address@hidden <address@hidden> ou  (21) 8112-9988*
**
*** » **julioneves1      » juliobash*



Em 10 de novembro de 2011 15:23, phribbr <address@hidden> escreveu:

> **
>
>
> Valeu, funcionou!!!
>
> # find /data -atime +5 -type f -fls /logs/removidos.txt -print0 | xargs -0
> rm -v
>
> Pior que li o man, mas nao cheguei nesta ideia.
> Valeu mesmo!!!
>
> Obrigado!
> Paulo Henrique
>
> --- Em address@hidden, MrBiTs <mrbits.dcf@...> escreveu
>
> >
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA256
> >
> > On 11/10/2011 01:45 PM, phribbr wrote:
> > > Boa tarde, Alexandre!!!
> > >
> > > Na verdade era os arquivos com tempo de acesso mesmo, expliquei
> errado, me desculpe!
> > >
> > > Com o xargs tem a opcao para remover os dados com espacos sim, basta
> utilizar o -print0 para o find e o "-0" para o xargs.
> > > #find /data - atime +5 -type f -print0 | xargs -0 rm
> > >
> > > O problema mesmo eh o log detalhado dos arquivos que serao removidos.
> Tudo isso em apenas uma execucao apenas do find.
> >
> > Sempre falta uma leitura básica da manpage do comando. não é não ?
> >
> > O find tem um parâmetro -ls, que faz exatamente o que você quer e pode
> ser utilizado junto ao -exec. Se você ainda quiser escrever
> > o resultado num arquivo, manda um -fls no lugar do ls.
> >
> >
> > - --
> >
> > LLAP
> >
> > .0. MrBiTs - mrbits.dcf@...
>
> > ..0 GnuPG -
> http://keyserver.fug.com.br:11371/pks/lookup?op=get&search=0x6EC818FC2B3CA5AB
> > 000 http://www.mrbits.com.br
> >
> >
> > -----BEGIN PGP SIGNATURE-----
> > Version: GnuPG v1.4.11 (GNU/Linux)
> >
> > iQEcBAEBCAAGBQJOu/toAAoJEG7IGPwrPKWrDXoIAJaMBEnaEdutMUXJieUKKU5f
> > WrLnCAIkQ7T0X0donLklTFY2PUUxEJqMn52i5LmD0an7Cv0Kj0x3+9o19UGvxHpD
> > jfhtHMrs4lFF9tgTcNKIzUNx/gwRaogN7yOWI97wc+2ol5ui53++Z5bBSrbuK1ZF
> > WT7TxMBwj5N5HS6SXDLsaO1HBQoiW92sTGHZyaQ3q6vvotOzHjqqNgMEiyWOUpd1
> > 5Xpu5sJolSCgvZrgByHxw1zyf6RnWFmsib2wQ8FOCtrdbKHjVAbyX86e1YCqCo0U
> > 9LJERaEkMt6MBL4+tq1gIINPfN5weJkZLVxKsPsZxwyCQpH0raKh4XjWG1uIbk4=
> > =KrNB
> > -----END PGP SIGNATURE-----
> >
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]