Cómo encontrar todos los archivos con la misma extensión dentro de un directorio


63

Soy principiante en Linux y quiero buscar todos los .confarchivos /etc/.

Lo intenté grep -r *.conf /etc, pero el resultado no es correcto.

¿Qué estoy haciendo mal?

Respuestas:


96

Simplemente presione Ctrl+ Alt+ Ten su teclado para abrir Terminal. Cuando se abra, ejecute el siguiente comando:

find . -type f -name "*.txt"

Esto enumerará todos los archivos con la extensión .txt.

Al .principio denota el directorio actual. findbusca recursivamente en todos los directorios debajo de la ruta dada. Si desea que la búsqueda comience en otro lugar que no sea el directorio de trabajo actual, especifique la ruta, por ejemplo:

find /etc -type f -name "*.conf"

Esto busca en el /etcdirectorio y en todos sus subdirectorios archivos regulares con la .confextensión.


1
Funciona. ¿Hay alguna alternativa para este comando?
Adrian George

1
Puedes echar un vistazo a Localizar .
Mitch

@AdrianGeorge findes tan ampliamente utilizado, tan bien documentado, y tiene tantas publicaciones de StackOverflow / Exchange al respecto que sería más difícil encontrar algo más fácil para trabajar. Casi cualquier cosa que quieras hacer se ha escrito en línea en alguna parte.
BallpointBen

6

Yo personalmente lo usaría find, pero también puedes pensar en estas cosas:

shopt -s globstar
ls /etc/{,**/}*.conf

Y puede usar localizar y es rápido pero no confiable.

locate '/etc/**.conf'

¿Por qué no es locateconfiable?
Giraldi

1
@Giraldi locateconfía en la base de datos mlocate que se actualizó recientemente para ser precisa. Por defecto, solo está programado para actualizarse una vez al día (aunque puede forzarlo manualmente con updatedb).
Oli

@Oli no es cierto en Mac, ¿verdad? creo que mac os mantiene mlocate actualizado
d8aninja

6

grepbusca el contenido de los archivos, no los nombres de los archivos.

Para buscar todos los .confarchivos /etc/, querrás encontrar:

find /etc -name "*.conf"

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.