elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Sistemas Operativos
| |-+  GNU/Linux (Moderador: MinusFour)
| | |-+  ayuda con el copmando grep
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con el copmando grep  (Leído 2,865 veces)
ruben_linux

Desconectado Desconectado

Mensajes: 138



Ver Perfil WWW
ayuda con el copmando grep
« en: 3 Septiembre 2012, 18:16 pm »

El caso es que tengo un "txt" con una serie de palabras que necesito buscar en otro directorio con varios archivos "txt".

/home/ruben/fuente.txt---> las palabras que quiero buscar
/home/ruben/*.txt --------> los archivos en los que quiero buscar

he probado a pasar la salida de cat a grep (cat /home/ruben/fuentes.txt | grep /home/ruben/*.txt) pero no funciona, tambien, añadi las opciones -f y -w a grep y sigue sin funcionar.

buscando por la red di con este script, pero tampoco consigo el resultado deseado.

Código:
for name in `cat /home/ruben/fuente.txt `
do
grep $name /home/ruben/*.txt >> salida
done


En línea

Seaworth

Desconectado Desconectado

Mensajes: 176


Ver Perfil
Re: ayuda con el copmando grep
« Respuesta #1 en: 3 Septiembre 2012, 18:59 pm »

Hola,

para un archivo de texto sería:
Código:
grep -f fuente.txt archivo_donde_buscar.txt

Para archivos en un directorio, no sé si funcionaría:
Citar
for i in /home/ruben/*.txt    <ENTER>
>do              <ENTER>
>grep -f /home/ruben/fuente.txt $i  <ENTER>
>done;

pero revísalo, porque lo he probado deprisa y corriendo y no he revisado casos (o sea, que no se "salte" ocurrencias).



En línea

Seaworth

Desconectado Desconectado

Mensajes: 176


Ver Perfil
Re: ayuda con el copmando grep
« Respuesta #2 en: 3 Septiembre 2012, 19:40 pm »

Un ejemplo más "mierder", aunque no sé si es esto lo que estabas buscando:

Código:
#!/bin/bash

for i in *.txt; do cat *.txt > salida-total.doc;
done;
grep -w -f /home/ruben/fuente.txt salida-total.doc;
rm salida-total.doc;

Ten en cuenta que si el archivo "fuente.txt" está en el mismo directorio que los ".txt" donde buscas, igual al cat o al grep se les va la pinza. Una manera sería renombrar el "fuente.txt" a "fuente.doc" para que no le afecte el "cat *.txt".

No sé si esto te funcionará o era lo que buscabas...

Saludos.
En línea

ruben_linux

Desconectado Desconectado

Mensajes: 138



Ver Perfil WWW
Re: ayuda con el copmando grep
« Respuesta #3 en: 3 Septiembre 2012, 20:06 pm »

Gracias Seaworth
Tan simple como:

Código:
grep -f /home/ruben/fuente.txt /home/ruben/archivos/*

busca las palabras que contiene fuente.txt en todos los documentos de /home/ruben/archivos/*

**********************

ANULAR ESTABA ENGAÑADO

 :-[
***********************
« Última modificación: 3 Septiembre 2012, 20:15 pm por ruben_linux » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda por davor ayuda os ruego ayuda XD (SOLUCIONADO)
Hardware
XxRekcahlExX 6 10,567 Último mensaje 24 Mayo 2010, 00:56 am
por Aprendiz-Oscuro
duda grep fichero shellscript linux « 1 2 »
Scripting
CrÄsH 10 7,371 Último mensaje 6 Noviembre 2010, 11:47 am
por Afsoon
[SOLUCIONADO] [Bash] Problemas con grep en una URL
Scripting
aaronduran2 3 4,615 Último mensaje 20 Noviembre 2010, 23:58 pm
por aaronduran2
grep
Scripting
andaluz 2 3,540 Último mensaje 27 Marzo 2011, 19:37 pm
por andaluz
USo de Grep y wc
Unix/Unix-Like
malfredvon 0 3,526 Último mensaje 3 Febrero 2012, 17:28 pm
por malfredvon
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines