código em shell script

1. código em shell script

MARCELO REZENDE DE ASSIS
marceloassis

(usa Ubuntu)

Enviado em 21/08/2020 - 23:38h

Em shell script (bash, por exemplo) , elaborar um programa para encontrar arquivos idênticos (duplicados) na área de trabalho do usuário e que apresente o caminho e nome dos arquivos no terminal de texto.

- Os arquivos serão considerados idênticos se forem do mesmo formato (pdf, doc, png, por exemplo) e com mesmo tamanho, resultando numa mesma hash (assinatura).

- Devem ser utilizados os comandos/ferramentas disponíveis com a sua distribuição de S.O. para alcançar o objetivo, por exemplo: ls, file, find, md5, sort, hash, grep, awk, cut, etc.

- O usuário deve informar uma extensão (.c, .cpp, .doc, .png, etc) como entrada do script, mas essa informação só deve ser utilizada para filtrar as informações apresentadas como saída para o usuário


  


2. código em shell script

MARCELO REZENDE DE ASSIS
marceloassis

(usa Ubuntu)

Enviado em 22/08/2020 - 00:55h

find . -type f -exec md5sum '{}' ';' | sort | uniq --all-repeated=separate -w 32 > arquivos_duplicados.txt
encontrei essa linha de comando, mas não sei como pegar a entrada e jogar na pesquisa



3. Re: código em shell script

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/08/2020 - 08:39h

Você conhece um comando chamado fdupes? Talvêz ele possa ser útil.

https://linux.die.net/man/1/fdupes


4. Re: código em shell script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 22/08/2020 - 15:15h

marceloassis escreveu:

Em shell script (bash, por exemplo) , elaborar um programa para encontrar arquivos idênticos (duplicados) na área de trabalho do usuário e que apresente o caminho e nome dos arquivos no terminal de texto.

- Os arquivos serão considerados idênticos se forem do mesmo formato (pdf, doc, png, por exemplo) e com mesmo tamanho, resultando numa mesma hash (assinatura).

- Devem ser utilizados os comandos/ferramentas disponíveis com a sua distribuição de S.O. para alcançar o objetivo, por exemplo: ls, file, find, md5, sort, hash, grep, awk, cut, etc.

- O usuário deve informar uma extensão (.c, .cpp, .doc, .png, etc) como entrada do script, mas essa informação só deve ser utilizada para filtrar as informações apresentadas como saída para o usuário

Boa tarde Marcelo.
Qual a dificuldade?
Observe que não é necessário ter a mesma extensão para "ser" o mesmo arquivo.
exemplo:

ls -l q4os-swcentre*
-rw-r--r-- 1 adminq adminq 56220 ago 22 15:03 q4os-swcentre
-rw-r--r-- 1 adminq adminq 56220 jul 17 15:33 q4os-swcentre-data_3.7.1-a1_all.deb
sha0001=$(sha512sum q4os-swcentre|cut -d" " -f1)
sha0002=$(sha512sum q4os-swcentre-data_3.7.1-a1_all.deb|cut -d" " -f1)
[ $sha0001 = $sha0002 ] && echo "São Iguais" || echo "São Diferentes"
São Iguais




______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


5. Re: código em shell script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 22/08/2020 - 16:12h


marceloassis escreveu:

find . -type f -exec md5sum '{}' ';' | sort | uniq --all-repeated=separate -w 32 > arquivos_duplicados.txt
encontrei essa linha de comando, mas não sei como pegar a entrada e jogar na pesquisa

O comando acima, "pega' "Todos arquivos do diretório Atual e Subdiretórios",
gera o md5, ordena,
lista as linhas duplicadas (considerando somente o "md5"), e
Grava a saída em arquivos_duplicados.txt.
A pesquisa esta praticamente pronta....


______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


6. Re: código em shell script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 28/08/2020 - 20:28h


danilomarto escreveu:

Você conhece um comando chamado fdupes? Talvêz ele possa ser útil.

https://linux.die.net/man/1/fdupes

Danilo, conforme o "enunciado":
Devem ser utilizados os comandos/ferramentas disponíveis com a sua distribuição de S.O. para alcançar o objetivo, por exemplo: ls, file, find, md5, sort, hash, grep, awk, cut, etc.


______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts