A menudo tengo un nombre de archivo y es una ruta parcial, por ejemplo, "content / docs / file.xml".
¿Hay una manera simple de buscar ese archivo, sin cortar manualmente en partes su nombre para proporcionar el nombre del directorio y el nombre del archivo por separado?
Sería genial si find
funcionara de esa manera, para poder correr find content/docs/file.xml
, pero desafortunadamente no funciona.
linux
command-line
search
find
slhck
fuente
fuente
find -path *content/docs/file.xml
trabajó para mi.Respuestas:
Pase un
*
comodín para indicar una coincidencia para cualquier cosa . También necesita escapar del*
s, por ejemplo:o encierre el patrón entre comillas, por ejemplo:
Como lo describe la página del manual:
fuente
find también tiene una opción de nombre completo
find $top_dir -wholename *string*
fuente
o solo
fuente
Por ejemplo, buscar archivos en una ubicación usando asterisco / comodín (
*
) como:dir=“/apps/*/instance01/"
podría usar find${dir} -name “*.jks”
. poniendo todos los archivos en una matriz como esta:si desea obtener archivos con otras extensiones, use 'o' de esta manera:
-name "*.keystore" -o -name "*.jks" -o -name “*.p12"
porque-name
solo acepta una sola cadena, así que use 'o'.Finalmente pon todo en una matriz como esta:
Si tiene rutas completas, no rutas parciales, es mucho más fácil colocarlas en matrices como esta:
fuente