mordor.sh
Publicado por Fábio Berbert de Paula 13/11/2002
[ Hits: 5.345 ]
Homepage: https://www.instagram.com/alexabolada/
Programa que procura por determinada palavra em todos os arquivos texto de determinado diretorio.
#!/bin/bash #Mon Sep 2 22:46:04 GMT 2002 # # mordor.sh # Coded by Carlos Carvalho <h4sh@uol.com.br> <www.vivaolinux.com.br> # # Programa que procura por determinada palavra em todos os # arquivos texto de determinado diretorio. # Em certas ocasioes voce pode precisar saber por exemplo onde # estao definidas algumas configuracoes de sistema como por exemplo # o HOSTNAME, descobrindo quais arquivos contem seu hostname te ajudara # a saber quais sao responsaveis pelas definicoes. Ou voce pode # tambem apenas escanear por outras palavras-chave, de qualquer forma # quem decide isso e voce. # Mais uma vez fiz um programa apos procurar por um semelhante e nao # obter sucesso, afinal, sao assim que eles nascem. # Programa criado em meu Slackware 8.0 # # Obs: Em certos diretorios onde arquivos sao nomeados com numeros # o script pode apresentar comportamento erroneo, listando # um ou outro arquivo mais de uma vez, deixando assim de listar outros # arquivos, prejudicando a busca. Ainda nao tive tempo nem paciencia # de corrigir esse bug, assim que possivel farei isso. # Se voce quiser corrigir va em frente e me mande uma copia :] # # Como usar: # ./mordor.sh -get [inicia programa] # ./mordor.sh -see [exibe resultado] # ./mordor.sh -del [deleta resultado] GANDALF=/tmp/temp.txt ; GIMLI=/tmp/result.txt SAURON=/tmp/busca.txt ; ORCS=/tmp/file tolkien () { if [ -f "$GANDALF" ]; then rm -rf "$GANDALF" fi if [ -f "$ORCS" ]; then rm -rf "$ORCS" fi if [ -f "$SAURON" ]; then rm -rf "$SAURON" fi echo -n "Digite a palavra: " read TEXTO echo -n "Digite o diretorio de busca: " read DRCT if [ ! -d $DRCT ]; then echo "Diretorio nao existe" echo "Programa abortado." exit 1 fi touch "$GIMLI" ls "$DRCT" |grep -n $ > "$GIMLI" BEGIN=1 END=$(tail -1 "$GIMLI" |cut -d ":" -f1) while [ "$BEGIN" -le "$END" ]; do ENTRY=$(cat "$GIMLI" |grep "$BEGIN" |head -1 |cut -d ":" -f2) file "$DRCT"/"$ENTRY" |grep text > "$ORCS" if [ -s "$ORCS" ]; then cat "$DRCT"/"$ENTRY" |grep "$TEXTO" > "$GANDALF" if [ -s "$GANDALF" ]; then echo "Encontrado \"$TEXTO\" em "$DRCT"/"$ENTRY"" >> "$SAURON" fi fi BEGIN=`expr $BEGIN + 1` done rm -rf $GANDALF && rm -rf $GIMLI && rm -rf $ORCS echo "Para visualizar resultado: $0 -see" echo "Pronto!" } case $1 in -get) tolkien ;; -see) if [ -f "$SAURON" ] ; then less "$SAURON" else echo "NAO localizado !" echo "use: $0 -get" fi ;; -del) rm -rf "$SAURON" ;; *) echo "usage: $0 [-get|-see|-del]" ;; esac #EOF
Modifique o script abaixo de modo que ele tenha funcionalidade total, ou seja, se o
Instalando o plugin flash player no Linux
Montar Imagem ISO no Nautilus-Script ou Nautilus-Actions
Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha
Como preparar o Vim/Neovim para corrigir ortografia em português
Dark Web e Malwares na internet, quanto custa?
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Como verificar o hash de um arquivo baixado da Internet e como criar um hash
Debian 12 - IPTABLES - removendo NFTABLES
OverWatch 2 - Abrindo portas do jogo no Iptables.
Como instalar o adaptador wifi USB Intelbras ACtion A1200 no Linux Mint
Como normalizar seus arquivos MP3 para que fiquem no mesmo volume
Como Incorporar o Áudio no Executável ? (2)
LibreOffice alterar nomenclatura do ícone (13)
O que você está ouvindo agora? [2] (130)
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba
[Shell Script] Tire screenshots com Scrot facilmente com Zscrot
[Shell Script] DioPSI - Script multidistro para instalar programas
[Shell Script] ARS Vídeos - Cortador de vídeos e webcam shooter