¿Cómo puedo generar una lista de archivos con su ruta absoluta en Linux?

Resuelto Ken asked hace 16 años • 29 respuestas

Estoy escribiendo un script de shell que toma rutas de archivos como entrada.

Por este motivo, necesito generar listados de archivos recursivos con rutas completas. Por ejemplo, el archivo bartiene la ruta:

/home/ken/foo/bar

pero, hasta donde puedo ver, ambos lsy findsolo dan listados de rutas relativas:

./foo/bar   (from the folder ken)

Parece un requisito obvio, pero no veo nada en las páginas findman ls.

¿Cómo puedo generar una lista de archivos en el Shell incluidas sus rutas absolutas?

Ken avatar Oct 29 '08 16:10 Ken
Aceptado

Si proporciona finduna ruta absoluta para empezar, imprimirá rutas absolutas. Por ejemplo, para buscar todos los archivos .htaccess en el directorio actual:

find "$(pwd)" -name .htaccess

o si su shell se expande $PWDal directorio actual:

find "$PWD" -name .htaccess

findsimplemente antepone la ruta que se le dio a una ruta relativa al archivo desde esa ruta.

Greg Hewgill también sugirió usarlo pwd -Psi desea resolver enlaces simbólicos en su directorio actual.

Matthew Scharley avatar Oct 29 '2008 09:10 Matthew Scharley
readlink -f filename 

da el camino absoluto completo. Pero si el archivo es un enlace simbólico, obtendrá el nombre final resuelto.

balki avatar Jan 02 '2011 04:01 balki

Use esto para directorios (el /after **es necesario en bash para limitarlo a directorios):

ls -d -1 "$PWD/"**/

esto para archivos y directorios directamente bajo el directorio actual, cuyos nombres contienen .:

ls -d -1 "$PWD/"*.*

esto para todo:

ls -d -1 "$PWD/"**/*

Tomado de aquí http://www.zsh.org/mla/users/2002/msg00033.html

En bash, **es recursivo si habilita shopt -s globstar.

user431529 avatar Aug 26 '2010 06:08 user431529

Puedes usar

find $PWD 

en fiesta

Vinko Vrsalovic avatar Oct 29 '2008 09:10 Vinko Vrsalovic
ls -d "$PWD/"*

Esto busca sólo en el directorio actual . Cita "$PWD" en caso de que contenga espacios.

didi avatar Sep 15 '2009 13:09 didi