Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 6 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Jue Nov 18, 2010 8:57 pm
Mensajes: 3

Nota Publicado: Jue Nov 18, 2010 9:02 pm 
Arriba  
Hola a todos, soy muy nuevo en esto y me gustaria que me ayuden...

estoy queriendo hacer un Script que recorra un archivo (Este archivo tiene una lista de nombres) y que cada nombre lo busque en cada archivo de un directorio....si encuentra ese nombre que me informe.

se que es hay que usar un ciclo for, un grep y un cat pero no se de que manera :(

muchas gracias por la ayuda.


Última edición por Deckon el Vie Nov 19, 2010 7:53 am, editado 1 vez en total
Titulo editado por no decir nada del tema a tratar, por favor revisa el reglamento del foro

 Perfil Email  

Desconectado
Forista Distinguido
Forista Distinguido
Avatar de Usuario

Registrado: Sab Oct 09, 2004 11:00 pm
Mensajes: 1299

Nota Publicado: Jue Nov 18, 2010 9:26 pm 
Arriba  
No te voy a hacer el script (nadie lo hará, porque es una regla no escrita de espacio linux y de cualquier sitio similar). Pero algunas pistas:

El bucle empieza con:

for i in `cat archivo`; do

#Ahora hay que decidir qué hacer con cada línea, y no entiendo qué necesitas hacer. Puede ser tanto find /directorio/$i como ls /directorio/$i. En cambos casos, mediante if.

if ls $i; then echo "encontrado $i"; fi;
done

opcional, antes de "fi": else echo "no encontrado $i";.

Y en lugar de echo, si lo quieres gráfico: zenity --info --text="encontrado $i"

Con esto tienes una guía, pero te aconsejo leer un manual de Bash.

 Perfil  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Jue Nov 18, 2010 8:57 pm
Mensajes: 3

Nota Publicado: Vie Nov 19, 2010 6:57 am 
Arriba  
Te agradezco mucho por la rapidez en tu ayuda!!! No pense q iba a tener una respuesta tan rapida! Voy a ponerlo a prueba y te cuento!!!! Gracias x tus recomendaciones!!!

 Perfil Email  

Desconectado
Forista Distinguido
Forista Distinguido
Avatar de Usuario

Registrado: Jue Abr 26, 2007 11:00 pm
Mensajes: 1426

Nota Publicado: Vie Nov 19, 2010 10:09 am 
Arriba  
Otra forma de leer un archivo linea a linea es:

Código:
while read linea
do
    echo hacer algo con $linea
done<archivo.algo


Y como ya te dijo neurus, también revisá el comando find.

_________________
"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit."

"Finibus Bonorum Et Malorum", Cicerón

 Perfil WWW  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Jue Nov 18, 2010 8:57 pm
Mensajes: 3

Nota Publicado: Vie Nov 19, 2010 1:49 pm 
Arriba  
Muchas gracias nuevamente por la otra ayuda, ya lo vengo armando y con sus consejos vengo muy bien! me queda solamente la parte que al poner el comando "grep" si encuentra algo y pongo un "echo $?" me enviará "0" o "1"...bueno, mi pregunta es, como puedo hacer para decir: bueno, si no encuentro la palabra que estoy buscando que me la liste en pantalla".

 Perfil Email  

Desconectado
Forista Distinguido
Forista Distinguido
Avatar de Usuario

Registrado: Sab Oct 09, 2004 11:00 pm
Mensajes: 1299

Nota Publicado: Vie Nov 19, 2010 2:08 pm 
Arriba  
Ah, cierto que se trataba de seleccionar de la lista. Había olvidado eso.
En esos casos se usan tuberías:

cat archivo|grep selección

 Perfil  
Mostrar mensajes previos:  Ordenar por  
 [ 6 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC - 6 horas
Traducción al español por Huan Manwë
phpBB SEO