Localizar arquivos por extensão e mostrar relatório

Publicado por Guilherme Proença (última atualização em 31/10/2012)

[ Hits: 12.710 ]

Download 5586.busca_extensao_relatorio




Olá para todos do VIVA O LINUX, este é meu primeiro post, por isso peço desculpas caso esteja fazendo algo errado.

Esse script vai fazer uma busca pela extensão que você estiver desejando e no final ele gera um relatório num arquivo texto ou na própria tela.

Quem quiser contribuir, fique a vontade, pois quanto mais conhecimento, melhor para todos.

Um abraço.

  



Esconder código-fonte

#!/bin/bash
#########################################
#                                       #
###### Script Criado por guifuriabr######
#                                       #
#############VIVA O LINUX################
#                                       #
#########################################

echo -e "\e[32;1m=== Listagem de arquivos por extensão ===\e[m"
echo
kernel="Kernel : `uname -r`"
arqui="Arquitetura Atual : `uname -m`"
echo $kernel
echo $arqui
echo
echo
echo -e "\e[32;1m=== Localizar Arquivos ===\e[m"
echo "Extensão do arquivo - Ex: .exe .jpg .mp3 : "
read ARQUIVO
echo 
echo -e "\e[32;1m=== Salvar em algum arquivo?? Sim / Não ===\e[m"
echo
read LOCALIZA
echo
echo
echo -e "\e[32;1m== Fazendo a busca, aguarde !  ==\e[m"
echo
echo
    if [[ $LOCALIZA == 'n' || $LOCALIZA == 'N' || $LOCALIZA == 'nao' || $LOCALIZA == 'NAO' || $LOCALIZA == 'Não' ]]; then
    find /home -type f -iname *$ARQUIVO  -print0|xargs -0 du -ch
    exit

    elif [[ $LOCALIZA == 'S' || $LOCALIZA == 's' || $LOCALIZA == 'SIM' ||$LOCALIZA == 'sim' || $LOCALIZA == 'Sim' ]]; then
    mkdir /.01awswq02sad03
    chmod 777 /.01awswq02sad03
    find / -type f -iname *$ARQUIVO  -print0|xargs -0 du -ch >/.01awswq02sad03/relatorio.txt
else
echo -e "\e[32;1m=== Comando invalido, saindo do script ===\e[m"
fi

echo -e "\e[32;1m==== Aonde deseja gravar os dados ? Ex: /home/usuario/Documentos /temp ===\e[m"
read CAMINHO
mv -f /.01awswq02sad03/relatorio.txt $CAMINHO
chmod 777 $CAMINHO/relatorio.txt
rm -rf /.01awswq02sad03
echo
echo -e "\e[32;1m== Arquivo gravado com sucesso !! ==\e[m"
echo
sleep 2
 exit

Scripts recomendados

Proftd com Banco de Dados

Compilação automática do GCC-4.7.3 para Ubuntu 12.04+ 64 bits

compactação de backup diários

Tratamento de zeros a esquerda

Embaralhando elementos de um vetor


  

Comentários
[1] Comentário enviado por m4iir1c10 em 07/11/2012 - 20:52h

Ola Guilherme, obrigado pelo seu script e muito legal por favor nao pare nesse post envie mais.

Agora eu estava analizando o seus codigos e desculpe meus comentarios eu sei que programacao e questao de estilo, cada um faz a sua maneira, porem como a vida e uma escola nao faz mal aprender uma segunda forma de fazer algo ne?

se voce nao leu esse artigo que eu escrevi sobre comandos perigosos no linux http://www.vivaolinux.com.br/artigo/5-comandos-que-ninguem-nunca-deve-executar-no-Linux/ leia e voce vai ver que usar


mkdir /.01awswq02sad03
chmod 777 /.01awswq02sad03


e perigoso por duas razoes, primeiro que voce esta dando acesso global para todos os usuarios com o comando chmod 777, seria mais seguro 644 ou 755.
Segunda razao e que voce esta usando a pasta raiz do sistema assim torna-se inseguro e perigoso, porque se voce se acontumar a escrever scripts assim um dia voce pode por erro digitar rm -f / .01awswq02sad03 aquele espaco entre / e . pode apagar arquivos importantes, apesar que a maioria das distros hoje em dia tem uma protecao contra esse comando, mais nunca se sabe ne?
Seria mais seguro se voce usar


mkdir ~/.01awswq02sad03
chmod 755 ~/.01awswq02sad03



Cara adorei isso \e[32;1m aprendi a mudar a cor :) \e[m ?




if [[ $LOCALIZA == 'n' || $LOCALIZA == 'N' || $LOCALIZA == 'nao' || $LOCALIZA == 'NAO' || $LOCALIZA == 'Não' ]];



voce pode diminuir esse if usando o filtro tr para fazer os caracteres em maiuscula.



read LOCALIZA
LOCALIZA=$(echo $LOCALIZA | tr a-z A-Z)
if [[ $LOCALIZA == 'N' || $LOCALIZA == 'NAO' || $LOCALIZA == 'NÃO' ]];
dadadada
elif [[ $LOCALIZA == 'S' || $LOCALIZA == 'SIM' ]];
dadada



E isso ai vivendo e aprendendo, obrigado pela sua contribuicao B)


[2] Comentário enviado por guifuriabr em 08/11/2012 - 15:21h

Valeu m4iir1c10, vou fazer essa alterações ....valeu mesmo cara obrigado :)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts