3 votos

encontrar: múltiples "-exec" para la lista de archivos que no funcionan?

Estoy tratando de resolver esto en un teléfono Android con Oreo / 8.0, con toybox 0.7.3-Android.

Estoy tratando de obtener una lista de archivos dentro de una carpeta y su respectivo mtime. Estoy ejecutando este comando:

find . -type f -exec stat -c %n {} \; -exec stat -c %Y {} \; -exec stat -c %y {} \;

o

find . -type f -exec stat -c %n "{}" \; -exec stat -c %Y "{}" \; -exec stat -c %y "{}" \;

En ambos casos sólo obtengo el resultado de la primera invocación de "stat". ¿Estoy supervisando algo o es así como funciona toybox en Android?

El archivo de salida debería verse así:

./file1.txt
1553516120
201903251315.20
./file2.txt
1549678694
201902090318.14
./file3.txt
1553541066
201903252011.06
./file4.txt
1553515882
201903251311.22
./file5.txt
1585138731
202003251318.51

EDITORIAL: Esto es aparentemente un bicho en una caja de juguetes. Lo reporté y el arreglo de trabajo está actualmente esperando ser fusionado en el código fuente de toybox.

0 votos

Sin saber más sobre lo que estás tratando de hacer, ¿podrías simplemente usar ls ? Algo así como: ls -ld /path/to/directory --full-time | grep '^d' . Esto filtrará los directorios y mostrará la marca de tiempo completa de los archivos en la ruta especificada.

0 votos

Estoy intentando hacer una copia de seguridad de las marcas de tiempo de los archivos mediante un script. Gracias por tu idea, desafortunadamente "--full-time" no es un switch reconocido.

0voto

Jack Wade Puntos 231

Esto debería funcionar:

find . -type f | xargs -I {} stat --printf='%n \n %Y \n %y \n\n' '{}'

Pero Android está limitado toybox stat no apoya --printf formato. Así que o bien usa stat binario con opciones completas, por ejemplo, de Termux o estático, o necesitas hacer un paso extra:

find . -type f | xargs -I {} stat -c '%n--%Y--%y--' '{}' | sed 's/--/\n /g'

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X