Localizar arquivos por extensão e mostrar relatório

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

[ Hits: 12.904 ]

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

Exportar ip para variável

Proftd com Banco de Dados

Converter animes em .mp4 para .avi (e outros) com qualidade perfeita

Script para verificação do JAVA configurado no PATH

Renomear Arquivos


  

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