Scritp de busca

1. Scritp de busca

Rosiclei jaisom pinho
rosicleijp

(usa Debian)

Enviado em 22/01/2010 - 17:46h

Srs Preciso de um script que busque uma determinada palavra ou um texto dentro de um vi ou outro editor.
Se souber por favor me ajudem...
Abraços


  


2. Re: Scritp de busca

André
andrezc

(usa Debian)

Enviado em 22/01/2010 - 17:51h

Dentro do aquivo ( # vi aquivo.txt )

Só usar /palavra

Vou fazer um código aqui para te mostrar...


3. Re: Scritp de busca

André
andrezc

(usa Debian)

Enviado em 22/01/2010 - 18:10h

Fiz em Ruby, tem perigo ?

puts "Entre com o caminho do arquivo : "
caminho =gets()
system("vi"+ caminho);
puts "entre com a palavra a ser buscada : "
palavra =gets()
system("/"+palavra);


4. Re: Scritp de busca

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/01/2010 - 18:59h

nao seria melhor usar o

grep nome arquivo.txt


5. Detalhes

Rosiclei jaisom pinho
rosicleijp

(usa Debian)

Enviado em 23/01/2010 - 08:42h

Bom srs poderia até ser dessa forma porem teria que ser em escript em forma de um programa de pesquisa, pois trabalho no suporte de uma empresa de sistemas e são mais de 2500 programas, numca irei gravar tudo isso, então eu colocaria os titulos desses programas dentro de tal script e na hora que eu quiser pesquisar eu rodaria o script com a seguinte pergunta (Qual palavra Buscar? )e ele me traria os textos relacionado com a pesquisa.
Espero te exclarecido bem... Abraços.


6. Re: Scritp de busca

André
andrezc

(usa Debian)

Enviado em 23/01/2010 - 08:48h

Esse script que eu fiz não deu certo ?

É só ter um interpretador Ruby e usar ruby nome.rb


7. Re: Scritp de busca

André
andrezc

(usa Debian)

Enviado em 23/01/2010 - 08:54h

Não tem segredo algum, basta vc abrir o tal arquivo que não só de texto pode ser como um arquivo feito no notepad (.pl, .c, .cpp, ,sh e etc )

vi seu_arquivo.extensão

dentro do editor vi, aperte a tecla Esc, e digite /

agora digita a palavra que vc quer buscar. Sem script fica mais rápido( em minha opinião )


8. Re: Scritp de busca

Rosiclei jaisom pinho
rosicleijp

(usa Debian)

Enviado em 23/01/2010 - 09:02h

Bom junior até fungo mais pelo que vi ele pesquisa somente a primeira busca e pronto,se eu tiver dois nomes iguais dentro do vi ele só vai no primeiro, me corrija se eu estiver errado...
Abraços e obrigado pela atenção.
ATT ROSICLEI JP



9. Re: Scritp de busca

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/01/2010 - 11:27h

eu tenho um script que digamos faz algo parecido

olha

http://www.vivaolinux.com.br/script/Busca-de-arquivos-nas-ports-FreeBSD

a diferença eh que ele soh tráz o diretorio

find /usr/ports -type d -iname "*$aplicativo*" >> "$LOG/busca"

ai vc teria que fazer algo assim

echo `grep "$aplicativo" diretorio`


10. Re: Scritp de busca

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/01/2010 - 13:13h

consegui, axo que sim, mas está tudo instavel ainda, tem alguns bugs que nao consegui resolver AINDA, veja:

===========================================================

#!/bin/bash

tmp=~/.tmp-$RANDOM ; touch $tmp
AQUI=`pwd`

PALAVRA=$( dialog --stdout --inputbox 'Digite uma palavra:' 0 0 )
if [ "$?" -eq '1' ]; then
exit 1
fi

DIRETORIO=$(dialog --stdout --menu 'Tipos de diretorios:' 0 0 0 \
Definido 'Diretorios definidos' \
Personalizado 'Você escolhe o diretorio personalzado' )
if [ "$?" -eq '1' ]; then
rm -rf $tmp
exit 1
fi

case $DIRETORIO in

Personalizado)
DIRETORIO1=$( dialog --stdout --inputbox 'Digite um diretorio:' 0 0 )
if [ "$?" -eq '1' ]; then
rm -rf $tmp
exit 1
fi
DIRETORIOFINAL=$DIRETORIO1
;;

Definido)
DIRETORIO2=$( dialog --stdout \
--checklist 'Escolha os diretorios:' 0 0 0 \
"$AQUI" 'Diretorio atual' ON \
"$HOME" 'Diretorio home' OFF \
"/" 'Raiz' OFF \
"/usr" '' OFF \
"/var" '' OFF \
"/etc" '' OFF )
if [ "$?" -eq '1' ]; then
rm -rf $tmp
exit 1
fi
DIRETORIOFINAL=$DIRETORIO2
;;


*) dialog --title 'ERRO' --msgbox 'Não pode ser feita a busca, talvez você não tenha seguido os padrões.' 0 0 ;;


esac


ls -1 $DIRETORIOFINAL/*.sh >> $tmp 2> /dev/null

for i in `more $tmp`; do
grep -n "$PALAVRA" "$i"
done

rm -rf $tmp
exit 1

===================================================

pelo visto soh está funcionando se vc escolher o diretorio personalizado,

na linha "ls -1 $DIRETORIOFINAL/*.sh >> $tmp 2> /dev/null"

eh onde vc vai escolher a extenção do arquivo, nesse caso ele vai somente olhar os arquivos que terminam com .sh

ainda nao descobri um jeito de listar somente os arquivo em texto puro


11. Re: Scritp de busca

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/01/2010 - 17:42h

qual ambiente grafico vcs usam?? gnome??? kde??

se quiser eu faço com o zenity ou gdialog para gnome

ou o kdialog para o kde

de respostas com o resultado


12. Resolvido

Rosiclei jaisom pinho
rosicleijp

(usa Debian)

Enviado em 05/02/2010 - 11:26h

Não amigo apenas trabalhamos com linha de comando mais muito agradecido mesmo, juntei um pouco de cada e consegui fazer o script que eu queria logo abaixo.
abraços a todos ...
#!/bin/bash

bancodados=bd.txt
menu(){
clear
echo ".::Pesquisa de programas::."
echo
echo "1. Novo Cadastro"
echo "2. Alterar Cadastro"
echo "3. Excluir Cadastro"
echo "4. Pesquisar Cadastro"
echo "5. Listar Programas"
echo "6. Sair"
echo
echo "Digite uma Opcao: "
read opcaom
case $opcaom in
1) cadastro ;;
2) altera ;;
3) exclui ;;
4) pesquisa ;;
5) lista ;;
6) sleep; clear; exit ;;
*) echo "Opcao nao Encontrada..."; echo ; menu ;;
esac
}
cadastro(){
clear
echo "Novo Cadastro..."
echo
arq='bd.txt'
if [ -f $arq ]
then
echo "Arquivo para Salvar Existe..."
else
echo "Arquivo para Salvar Nao existe..."
echo "Criando Arquivo para Salvar..."
echo "sleep 2 "
touch bd.txt
echo "Arquivo Criado com Sucesso..."
fi
echo
echo "Digite o Nome do Programa: "
read cadnome
echo "Digite a funcao desse programa: "
read cadfuncao
echo
echo -n "Confirma? (s/n): "
read resp
if [ $resp = "s" ]; then
echo "Salvando..."
echo
echo "$cadnome ; $cadfuncao" >> $bancodados
else
echo "Cadastro nao Salvo..."
fi
sleep 3
echo "Tecle enter para voltar ao Menu"
read
menu
}
pesquisa(){
clear
echo "Pesquisando..."
echo
echo "Digite o nome para Pesquisar: "
read pesqnome
echo "Nomes Encontrados..."
grep -i $pesqnome $bancodados
echo
sleep 3
echo "Tecle enter para voltar ao Menu"
read
menu
}
lista(){
clear
echo "Listando..."
echo
echo "Lista de programas..."
sort $bancodados
echo
sleep 3
echo "Tecle enter para voltar ao Menu"
read
menu
}
exclui(){
clear
echo "Excluindo..."
echo
echo "Lista de programas..."
sort $bancodados
echo
echo "Digite o nome do programa para Excluir: "
echo "Apenas Enter para excluir Todos: "
read exnome
echo
sleep 1;
cat $bancodados | grep -iv $exnome > bdtmp.txt
rm $bancodados
cp bdtmp.txt $bancodados
rm bdtmp.txt
echo "Programa Excluido..."
echo
sleep 3
echo "Tecle enter para voltar ao Menu"
read
menu
}
altera(){
clear
echo "Alterando..."
echo
echo "Programas da Lista..."
sort $bancodados
echo
echo "Digite o nome do programa para Alterar: "
read altnome
cat $bancodados | grep -iv $altnome > bdtmp.txt
rm $bancodados
cp bdtmp.txt $bancodados
rm bdtmp.txt
echo "Digite os novos dados desse programa: "
read altdados
echo "$altnome ; $altdados" >> $bancodados
echo
echo "Alterando..."
sleep 3
echo "Tecle enter para voltar ao Menu"
read
menu
}
menu







01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts