¿Qué estoy haciendo mal cuando uso find?[Resuelto]

Foro para tratar temas diversos, incluso, diferentes al tema general del sitio.

Moderador: doc

Responder
GerardoRossi
Forista Menor
Forista Menor
Mensajes: 69
Registrado: Mar Feb 01, 2011 8:14 pm
Ubicación: Argentina
Contactar:

¿Qué estoy haciendo mal cuando uso find?[Resuelto]

Mensaje por GerardoRossi » Mar Abr 02, 2013 4:16 pm

Me ocurre lo siguiente estaba buscando un programa que instale en mi maquina en un debian 7 + xfce. El programa finalmente lo encontre a mano, así que no hay problema, pero tengo la duda. Al usar find no lo encontraba, a pesar de que el archivo esta en la maquina, lo que puse en el terminal fue:

Código: Seleccionar todo

find / programa


¿qué es lo que esta mal con esta linea? Estuve viendo el man de find y parece que esta bien.

Desde ya gracias.

Saludos.
Última edición por GerardoRossi el Mar Abr 02, 2013 6:29 pm, editado 1 vez en total.
Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1905
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: ¿Qué estoy haciendo mal cuando uso find?

Mensaje por hipersayan_x » Mar Abr 02, 2013 5:15 pm

Esto es lo correcto:

Código: Seleccionar todo

find /usr/bin -iname '*programa*' 2>/dev/null
alternativamente:

Código: Seleccionar todo

find /opt -iname '*programa*' 2>/dev/null
o buscar en los lanzadores:

Código: Seleccionar todo

find /usr/share/applications -iname '*programa*' 2>/dev/null
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net
GerardoRossi
Forista Menor
Forista Menor
Mensajes: 69
Registrado: Mar Feb 01, 2011 8:14 pm
Ubicación: Argentina
Contactar:

Re: ¿Qué estoy haciendo mal cuando uso find?

Mensaje por GerardoRossi » Mar Abr 02, 2013 5:25 pm

Gracias hipersayan_x.
Disculpa la molestia, fijandome en el man observo que comentan el -iname como haciendo lo mismo que:

Código: Seleccionar todo

-name pattern
              Base of file name (the path with the leading directories removed) matches shell pattern pattern.  The metacharacters
              (`*', `?', and `[]') match a `.' at the start of the base name (this is a change  in  findutils-4.2.2;  see  section
              STANDARDS  CONFORMANCE  below).   To  ignore  a  directory and the files under it, use -prune; see an example in the
              description of -path.  Braces are not recognised as being special, despite the fact that some shells including  Bash
              imbue  braces  with  a  special  meaning  in shell patterns.  The filename matching is performed with the use of the
              fnmatch(3) library function.   Don't forget to enclose the pattern in quotes in order to protect it  from  expansion
              by the shell.
¿qué hace exactamente esto? No me queda claro.

Saludos.
Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1905
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: ¿Qué estoy haciendo mal cuando uso find?

Mensaje por hipersayan_x » Mar Abr 02, 2013 6:18 pm

En -iname es justamente donde tenes que poner el nombre del archivo a buscar. Básicamente con:

Código: Seleccionar todo

-iname '*archivo*'
le estás diciendo que cualquier archivo que en su nombre contenga la palabra archivo, puede estar rodeado por otras palabras, numeros o símbolos, y no toma en cuenta mayúsculas o minúsculas. Si pusieras:

Código: Seleccionar todo

-iname 'archivo'
le estarías diciendo que busque el archivo que se llama exactamente archivo. Si pusieras:

Código: Seleccionar todo

-name 'Archivo'
tomaría cualquier archivo que se llame Archivo, pero no archivo.
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net
GerardoRossi
Forista Menor
Forista Menor
Mensajes: 69
Registrado: Mar Feb 01, 2011 8:14 pm
Ubicación: Argentina
Contactar:

Re: ¿Qué estoy haciendo mal cuando uso find?

Mensaje por GerardoRossi » Mar Abr 02, 2013 6:29 pm

Gracias.
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje