Linux/Unix Shell Scripting - ayuda tarea shell linux

   
Vista:

ayuda tarea shell linux

Publicado por Alvaro Rodriguez alvaro.rodriguez@live.cl (4 intervenciones) el 12/10/2011 06:50:43
Amigos bueno soy nuevo en esto de shell linux, mas bien un novato y me han pedido una tarea en la universidad, yo estudio redes y de programacion no se mucho, la tarea es la siguiente:

Lista los archivos que contengan cierto string (puede ser una palabra o mas de una) mas cerca del principio y mas cerca del final de su contenido. Deben incluirse en el resultado sólo aquellos archivos que sea de tipo texto (ASCII) y que pesen menos de 2024 bytes. Tanto el string a buscar como el directorio donde realizar la búsqueda serán entregados como parámetro por el usuario de la shell ($1 y $2). Su solución debe incluir validación de parámteros.

Cualquier ayuda es de mucha utilidad, saludos amigos y gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

ayuda tarea shell linux

Publicado por xve (254 intervenciones) el 12/10/2011 10:02:18
Hola Alvaro, la instrucción podría ser esta:
1
find pathDondeBuscar -type f -size -2024c | xargs grep palabraABuscar

Esta linea lo que hace es:
find busca los archivos
pathDondeBuscar carpeta donde buscar
-type f buscar unicamente archivos
-size -2024c tamaño inferior a 2024 bytes
xargs sobre cada resultado ejecuta un comando
grep palabraABuscar Busca dentro de cada archivo devuelto por la instruccion find el texto: palabraABuscar

Espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda tarea shell linux

Publicado por Alvaro Rodriguez alvaro.rodriguez@live.cl (4 intervenciones) el 12/10/2011 16:32:49
Muchas gracias amigo la vamos a probar para ver que tal, de antemano muchísimas gracias por tu ayuda y tiempo, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda tarea shell linux

Publicado por Alvaro Rodriguez alvaro.rodriguez@live.cl (4 intervenciones) el 13/10/2011 05:21:45
Amigo nuevamente muchas gracias por la ayuda pero sabes tengo una duda, como hacer para que el lugar a buscar y la palabra a buscar las eliga el usuario, $1 para el directorio y $2 para la palabra a buscar? saludos y muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

ayuda tarea shell linux

Publicado por xve (254 intervenciones) el 13/10/2011 16:10:27
Seria algo así:
1
find $1 -type f -size -2024c | xargs grep $2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda tarea shell linux

Publicado por Alvaro Rodriguez alvaro.rodriguez@live.cl (4 intervenciones) el 13/10/2011 18:47:55
Gracias amigo pero al momento de buscar busca en todos los ficheros y necesito discriminar que solo sean los .txt, y me arroja error al ingresar la shell, saludos y grcias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda tarea shell linux

Publicado por caic (82 intervenciones) el 03/11/2011 16:11:42
Hola Álvaro,

Si ejecutas el comando "man find" verás todas las posibilidades que tiene, que no son pocas. Entre ellas hay una que es bucar por nombre.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar