Usando el shell tcsh en Free BSD, ¿hay alguna forma de enumerar recursivamente todos los archivos y directorios incluyendo el propietario, el grupo y la ruta relativa al archivo?Cómo recursivamente enumerar todos los archivos y directorios
ls -alR se acerca, pero no muestra la ruta relativa frente a cada archivo, se muestra el camino en la parte superior de una agrupación es decir
owner% ls -alR
total 0
drwxr-xr-x 3 owner group 102 Feb 1 10:50 .
drwx------+ 27 owner group 918 Feb 1 10:49 ..
drwxr-xr-x 5 owner group 170 Feb 1 10:50 subfolder
./subfolder:
total 16
drwxr-xr-x 5 owner group 170 Feb 1 10:50 .
drwxr-xr-x 3 owner group 102 Feb 1 10:50 ..
-rw-r--r-- 1 owner group 0 Feb 1 10:50 file1
-rw-r--r-- 1 owner group 0 Feb 1 10:50 file2
Lo que me gustaría es una salida como:
owner group ./relative/path/to/file
el accepted answer to this question muestra la ruta relativa a un archivo, pero no muestra el propietario y el grupo.
Parece que esto falla si hay espacios en la ruta porque awk creará otro campo. ¿Hay alguna forma de imprimir desde $ 9 hasta el final de la línea? – Ben
¡Lo tienes! * Puedes * leer la salida de ls en una función, desplazarte a través de los argumentos y usar $ @ para leer "el resto de la línea", pero sinceramente, se está haciendo lo suficientemente complicado como para escribir una pequeña utilidad de Python y hágalo de la manera correcta en su lugar. –
O pruebe una de las soluciones Perl sugeridas por Slim o Chris. –