Buscar archivos: grep, find y locate

Gonzalo Castro gonzalo.castro.castilla en gmail.com
Vie Dic 28 09:24:28 GMT 2007


El 28/12/07, Rodrigo Barahona <conlinux en gmail.com> escribió:
> A ver...
>
> On Dec 26, 2007 8:32 AM, Gonzalo Castro Castilla
> <gonzalo.castro.castilla en gmail.com> wrote:
> > Saludos a todos!
> > El caso es que estoy aprovechando estas fiestas para aprender a
> > manejar la terminal y me ha surgido un problema: tengo que encontrar
> > los archivos que empiecen por a,b y c en el archivo /bin.
>
> te funciona el "ls" porque  sirve para listar entidades o archivos.
>
> > Empecé probando con cosas como: $grep /bin/[a-c]* pero no me daba
> > resultado (se me quedaba parado y no me daba ninguna respuesta. (¿grep
> > sirve para esto?)
> grep no te funciona porque el busca cadenas dentro de las entidades o
> archivos.
> podrías buscar algo así   grep  -i  "amigo"  /bin/[a-c]*
> Esta instrucción busca la palabra Amigo, Amigos AMIGOS, aMiGos o cualquier
> cadena dentro de los archivos que comienzen con la letra a, b o c.
>
> Es decir busca cadenas dentro de las entidades o archivos.
>
> > Seguí con find y locate, sobretodo con locate, ya que es más rápido.
> > Actualicé la lista que usa locate: $sudo updatedb y escribí $locate
> > /bin/[a-c]*.* (en el man decía que [a-c] significaba rango desde la a
> > a la c) y me salen archivos que empiezan por la c y por la b, pero que
> > no necesariamente están en /bin/ (algunos están en directorios dentro
> > de /bin/ o en /usr/bin/) y no me salen los que empiezan por a.
> Con find deberia funcionarte  si usaste algo parecido a esto   find  /bin
> -iname "[a-c]*"
>
> fijate que el camino o path lo pones apenas comienzas con find y debes poner
> entre comillas cuando no tienes el nombre exacto. Por cierto en esta forma
> find esta trabjando con entidades o archivos...
>
>
> > Probé con $locate /bin/a*.* /bin/b*.* /bin/c*.* pero esto excluía a
> > los que no tenían punto así que escribí esto $locate /bin/[a-c]*
> > /bin/[a-c]*.* y esto me da archivos que ni siquiera empiezan por a,b o
> > c... y que no están en /bin...
> Con locate es una busqueda muy amplia es por eso que te arroja todas las
> cadenas que encuentra, segun el criterio de busqueda, es decir ya no estas
> buscando o consultando por entidades, estas buscando cadenas en una base de
> datos.
>
>
> > Los manuales no son muy didácticos y no encuentro solución en ellos.
>
> El conocimento esta regado o disperso si estamos hablando según los
> intereses  de cada persona.  En otras palabras debes aprender a  manejar las
> herramientas de una en una y luego las puedes ir mezclando... no pretendas
> abstraer todo de un solo golpe.
>
> Los manuales (sobre todo en informática) no sirven si no te ensucias las
> manos probando cada una de las opciones que te sugieren y las 1000 opciones
> que se te van ha ocurrir.
>
> > Agradecería que alguien me pudiera explicar cómo resuelvo esto.
> espero te ayude mis 10 minutos de aporte.
>
> > Gracias por todo y felices fiestas!
> SI VIVA EL 2008,  VIVA el software libre y VIVA la comuinidad.
>
>
> que el 2008 se te van a cumplir tus deseos y propósitos!
> rodrigo.
> --
> Rodrigo Barahona
> TICs con Software Libre
> http://CONLINUX.NET
> conlinux en gmail.com
> 2237999 2846468 099279756

Muchas gracias por responder Rodrigo. Probé lo que me dijiste y me ha
ayudado a comprenderlo mejor.

Los comienzos son difíciles, pero con una comunidad detrás como la del
software libre (y en especial la de esta lista)  hace que aprender sea
más agradable y hace que te sientas arropado por la comunidad. Muchas
gracias a todos. Gracias por dejarme aprender y dejarme enseñar lo
poquísimo que sé a otras personas.

Muchas gracias a todos y feliz año!



Más información sobre la lista de distribución ubuntu-es