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

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

Re: [shell-script] busca por arquivos repetidos


From: Julio C. Neves
Subject: Re: [shell-script] busca por arquivos repetidos
Date: Fri, 17 Feb 2012 10:43:56 -0200

Epa, se o negócio é remover arquivos duplicados, fica muito mais simples
trocar tudo que foi feito por um one-liner:

cd dir1; rm $(ls dir1 /caminho/de/dir2 | sort | uniq -d)

Primeiramente troque o rm por echo para verificar a saída. Se estiver OK,
ponha o rm de volta e detone tudo.

Os arquivos duplicados serão removidos de dir1.

Abcs,
Julio
*Já foi lançado "Bombando o
Shell<http://www.brasport.com.br/index.php?dispatch=products.view&product_id=666>
". *
*Show **de interfaces gráficas sob Shell!*
*
*



Em 17 de fevereiro de 2012 09:33, Emerson Domingues Souto - H2M <
address@hidden> escreveu:

> **
>
>
> Além disso, pela lógica vc quer eliminar os arquivos repetidos certo ?
>
> Neste caso somente o SEGUNDO FOR é necessário, mas o PRIMEIRO FOR pode ser
> substituído por um simples TEST.
>
> E também, não há necessidade de gerar a lista em arquivo texto.
>
>
>
> Ou seja, o script poderia ficar assim:
>
>
>
> #!/bin/bash
> for DUP in `ls /home/fotos/temp1`; do
> test -f "/home/fotos/temp/$DUP" && mv /home/fotos/temp1/$DUP
> /home/fotos/apaga
> done
>
> echo "Relação de arquivos repetidos que serão removidos"
> ls /home/fotos/apaga
>
>
>
>
>
> Emerson Domingues Souto
>
> Tecnologia da Informação
>
> Marítima Seguros S/A
>
> Fone: 11 3156-1017
>
>
>
> De: address@hidden [mailto:
> address@hidden] Em nome de Julio C. Neves
> Enviada em: quinta-feira, 16 de fevereiro de 2012 20:25
> Para: address@hidden
> Assunto: Re: [shell-script] busca por arquivos repetidos
>
>
>
>
>
> Acho que seu problema está no cmd test [ ... ]. Como eu disse o par de
> colchetes corresponde ao cmd test e, por ser um cmd, todos os seus
> argumentos precisam estar separados por espaços em branco e vc não os
> colocou antes e após o ==. Por falar nisso, se as variáveis tiverem
> valores
> numéricos, ficaria melhor se vc fizesse:
>
> [ $var1 -eq $var2 ]
>
> Abcs,
> Julio
> *Já foi lançado "Bombando o
> Shell<
> http://www.brasport.com.br/index.php?dispatch=products.view&product_id=666>
>
> ". *
> *Show **de interfaces gráficas sob Shell!*
> *
> *
>
> Em 16 de fevereiro de 2012 19:08, Anderson Souza <
> address@hidden <mailto:anderson.souza35%40gmail.com>
> > escreveu:
>
> > **
> >
> >
> > Olá pessoal... alguem pode me dar uma ajuda. Acho que é no "for" que
> esta o
> > problema.
> >
> > Obrigado
> >
> > #!/bin/bash
> >
> > ls /home/fotos/temp > /home/fotos/TESTE.txt
> >
> > ls /home/fotos/temp1 > /home/fotos/TESTE1.txt
> >
> > for ORI in `cat /home/fotos/TESTE.txt`; do
> >
> > for DUP in `cat /home/fotos/TESTE1.txt`; do
> > # xargs -i sh -c 'mv {} "$(echo {} | tr A-Z a-z)"'`; do
> >
> > if [ "$ORI"=="$DUP" ]; then
> > #tr "a-z" "A-Z" <<< $DUP
> > mv /home/fotos/temp1/$DUP /home/fotos/apaga
> > fi
> > done
> > done
> >
> > echo "Relação de arquivos repetidos que serão removidos"
> > echo
> > ls /home/fotos/apaga
> >
> > Procurando por fotos duplicdas ...
> >
> > mv: impossível obter estado de "/home/fotos/temp1/DSC03085.JPG": Arquivo
> ou
> > diretório não encontrado
> > mv: impossível obter estado de "/home/fotos/temp1/DSC03120.JPG": Arquivo
> ou
> > diretório não encontrado
> > mv: impossível obter estado de "/home/fotos/temp1/DSC03085.JPG": Arquivo
> ou
> > diretório não encontrado
> > mv: impossível obter estado de "/home/fotos/temp1/DSC03120.JPG": Arquivo
> ou
> > diretório não encontrado
> > Relação de arquivos repetidos que serão removidos
> >
> > DSC03085.JPG DSC03120.JPG
> >
> > --
> > Anderson Souza
> > Email: address@hidden <mailto:anderson.souza35%40gmail.com>
> > Skype: anderson1904
> > Msn: address@hidden <mailto:aos_3%40msn.com>
> > Fone: ☎* (12)3152-5414 ☎*
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



reply via email to

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