Si le da al comando find una ruta absoluta, escupirá los resultados con una ruta absoluta. Entonces, desde el directorio de Ken si tuviera que escribir:
find /home/ken/foo/ -name bar -print
(en lugar de la ruta relativa find . -name bar -print
)
Deberías obtener:
/home/ken/foo/bar
Por lo tanto, si desea un ls -l
y hacer que devuelva la ruta absoluta, puede decirle al comando find que ejecute un ls -l
en lo que encuentre.
find /home/ken/foo -name bar -exec ls -l {} ;\
NOTA: hay un espacio entre {}
y;
Obtendrás algo como esto:
-rw-r--r-- 1 ken admin 181 Jan 27 15:49 /home/ken/foo/bar
Si no está seguro de dónde está el archivo, siempre puede cambiar la ubicación de búsqueda. Siempre que la ruta de búsqueda comience con "/", obtendrá una ruta absoluta a cambio. Si está buscando una ubicación (como /) donde obtendrá muchos errores de permiso denegado, entonces recomendaría redirigir el error estándar para que pueda ver los resultados de la búsqueda:
find / -name bar -exec ls -l {} ;\ 2> /dev/null
( 2>
es la sintaxis para los shells Borne y Bash, pero no funcionará con el shell C. Puede funcionar también en otros shells, pero solo sé con certeza que funciona en Bourne y Bash).
find /home/ken/foo/bar -exec ls -ld $PWD/{} \;