Solución:
Para completar las respuestas existentes:
ls
La utilidad de lista de directorios predeterminada ls
se puede utilizar en combinación con los comodines del shell. Para buscar todos los archivos con patrón abc
:
ls -d abc* # list all files starting with abc---
ls -d *abc* # list all files containing --abc--
ls -d *abc # list all files ending with --abc
Tenga en cuenta que la extensión del archivo también es relevante para los resultados de la búsqueda.
tree
En caso de que necesitemos listar archivos en un árbol de directorios, también podemos emitir tree
para buscar un patrón dado como:
tree -P 'abc*' # list directory tree of file starting with abc---
tree -l 'def*' # exclude files starting with def---
En este caso, tree
en sí mismo admite comodines.
Puedes usar find
comando para buscar archivos con patrón
find . -type f -name "abc*"
El comando anterior buscará el archivo que comienza con abc en el directorio de trabajo actual.
-name 'abc'
enumerará los archivos que coinciden exactamente. Por ejemplo: abc
También puedes usar
-iname
-regex
opción con find
comando para buscar el nombre del archivo usando un patrón
Hay muchas formas de hacerlo, dependiendo exactamente de lo que quieras hacer con ellas. Generalmente, si solo desea enumerarlos, puede hacerlo en una terminal usando:
find | grep '^./ABC'
… y reemplazando ABC
con tu texto.
Para entender el comando, desglosémoslo un poco:
-
find
enumera todos los archivos del directorio actual y sus subdirectorios; usarlo solo mostrará todo lo que hay allí. Tenga en cuenta quefind
genera cada archivo o directorio que comienza con./
, lo que indica que su ruta es relativa al directorio actual. Ser consciente de esto es importante porque significa que buscaremos resultados que comiencen con./ABC
y no soloABC
. -
El personaje de la pipa
|
redirige la salida de un comando a otro, en este caso la salida defind
es redirigido agrep
. A esto se le llama tubería. -
grep
toma la salida y la filtra usando el patrón dado,^./ABC
.- Tenga en cuenta que el patrón se cita con comillas simples
' '
para evitar que el shell interprete los caracteres especiales que contiene.
- Tenga en cuenta que el patrón se cita con comillas simples
-
Ahora el patrón en sí está escrito en una sintaxis particular llamada expresión regular, o regex para abreviar. Regex es una herramienta de búsqueda extremadamente poderosa si la domina, y hay sitios como este que le enseñan al respecto con más profundidad, pero tenga en cuenta que
grep
no es un motor de expresiones regulares completo y no puede hacer todo con él. -
Para nuestro propósito:
-
^
en regex coincide con el comienzo de la cadena; esto evita que coincida con el patrón si no aparece al principio del nombre del archivo. -
.
en regex también tiene un significado especial: significa “coincidir con cualquier carácter aquí”. En caso de que quieras usarlo como un punto literal, tendrás que “escapar” usando una barra invertida.antes de eso. (Sí, coincidir con cualquier personaje sería inofensivo en nuestro caso, pero lo hice por completo).
-