¿Hay alguna manera de obtener la ruta absoluta de un archivo que se está buscando?
Por ejemplo:
find .. -name "filename"
Me da resultados como ../filename
pero quiero el camino completo.
Lo que necesito es encontrar en el directorio principal y sus hijos, para un archivo específico, que utilizaré en otro script más adelante.
Gracias
command-line
find
JorgeeFG
fuente
fuente
Respuestas:
Intenta algo como:
fuente
$(cd ..; pwd)
. Aquí funciona bien, pero si lo hago solo en una Terminal, no puedo obtener el directorio principal ... Obtengo "Bash: <dir>: es un directorio. Y si lo hago$(cd ..; echo "something")
, obtengo" algo: no un comando "(cd ..; pwd)
( ... )
significa ejecutar en una subshell, la salida se escribe en stdout.$( ... )
significa "sustitución de comando". Este último puede usarse como si fuera una expansión variable.Intenta usar la
-exec
opción defind
:Nota:
readlink
imprime el valor de un enlace simbólico o un nombre de archivo canónico.fuente
Puede usar
bash
la expansión de Tilde para obtener la ruta absoluta del directorio de trabajo actual, de esta manera también sefind
imprime la ruta absoluta para los resultados:Si se ejecuta en
~/Desktop
, esto se expande ae imprime resultados como:
Si desea utilizar este enfoque con el directorio principal del directorio de trabajo actual , debe hacerlo
cd
antes de llamarfind
:fuente
La forma más simple es
fuente
find `pwd -P` -name "filename"
También usar PWD puede mostrarle el directorio completo. Pwd le mostrará a todos sus directores en los que se encuentra, como la expansión del nombre de archivo. Espero que esto haya ayudado.
fuente
Esto funcionó para mí, pero solo devolverá la primera vez.
Para obtener rutas completas para todas las ocurrencias (como lo sugiere Sergiy Kolodyazhnyy)
fuente
Eliminando el último componente del directorio con el parámetro Expansión .
Un ejemplo de cómo puede usar mapfile para guardar la salida de find en una matriz indexada para su uso posterior.
(si no se especifica ningún nombre de matriz, MAPFILE será el nombre de matriz predeterminado).
fuente