By Marcos Oliveira,

Script em Shell (completo) para pesquisa

Olá galera, fiz um script, pra passar o tempo, de Pesquisa(completo).Segue o código no blog para análise e também estudo, a única coisa diferente das que vêm sendo abordadas aqui no blog é o surgimento do case. Não utilizei comentários pra não ficar muito grande, mas é tão simples e o código tão limpo que dá pra ter uma noção como o case funciona.

Código(procura)

#!/bin/bash
# procura - script que faz pesquisas completas de arquivos e/ou diretórios
# Autor: Marcos da B. M. Oliveira
# Endereço Web - http://marcospinguim.blogspot.com
# Facebook - fb.com/terminalroot
echo "1 PESQUISAR POR NOME"
echo "2 PESQUISAR POR TAMANHO"
echo "3 PESQUISAR POR ALTERADOS NOS ÚLTIMOS DIAS"
echo "4 PESQUISAR POR ACESSADOS NOS ÚLTIMOS DIAS"
echo "5 CONSULTAR O MANUAL DE find"
echo "6 SAIR"
 echo -n "Por favor faça sua escolha: "
 read INPUT
 
 if [ $INPUT != 5 ] && [ $INPUT != 6 ] ; then
  echo -n "Informe a PASTA que deseja pesquisar(ex.:/home/usuario/Downloads/): "
  read PASTA
 fi 
 
 case $INPUT in
 1)
  echo "A) Pesquisar por nome 'EXATO COM A EXTENSÃO'"
  echo "B) Pesquisar por arquivo ou diretório que 'CONTÉM A PALAVRA': "
  echo "C) Voltar pro MENU anterior: "
  read FIND
  
  if [ $FIND = "" ] ; then
   $FIND=/home/$USER
 fi
  
  case $FIND in
   1|a|A) 
   
    echo -n "Informe o NOME EXATO do arquivo ou diretório: "
    read nome
    find $PASTA -name $nome
   ;;
   2|b|B)
   
    echo -n "Informe A PALAVRA que está arquivo ou diretório: "
    read nome
    find $PASTA -name *$nome* 
    
  
  ;;
  3|c|C)
  clear
  sleep 0
  $0
   
  ;;
  *)
  exit 0
   ;;
   esac    
 ;;
 2)
  echo -n "Informe o TAMANHO MÍNIMO do arquivo, escreva o k(kilobytes) no final, ex.:(300k): "
  read tamanho
  find /home/marcos/Downloads -size $tamanho
 ;;
 3)
  echo -n "Informe a quantidade de dias que se passaram: "
  read data
  find /home/marcos/Downloads -ctime $data
 ;; 
 4)
  echo -n "Informe a quantidade dos últimos dias: "
  read qtde
  find /home/marcos/Downloads -used $qtde
 
 ;; 
 5)
  man find
 ;;
 
 6|q|Q)
 exit 0
 
 ;;
 *)
 clear
 echo "Por favor utilize uma das opções 1, 2, 3, 4 ou 5"
 sleep 2
 $0
 
 ;;
 esac 


Sobre o Autor

Marcos Oliveira

A alegria está na luta, na tentativa, no sofrimento envolvido e não na vitória propriamente dita. A força não provém da capacidade física. Provém de uma vontade indomável.
Mahatma Gandhi


Dê você também uma Contribuição
Compartilhe nas suas Redes Sociais!




Inscreva-se no Nosso Canal do Youtube



Curso Extremamente Avançado em Shell Script Bash

Você irá descobrir técnicas avançadas de escrever em Shell Script. Como criar instaladores para distribuições Linux, Animações, Documentações, além de tudo sobre Processos em sistemas tipo UNIX, detalhes sobre Comandos Avançados e Muito Mais !




Crie Sua Própria Promoção

Customize seus Pacotes de Treinamentos obtendo descontos muito em conta!