1 votos

¿Cómo mover/copiar/procesar archivos basándose en cualquier atributo extendido en Terminal/shell?

Necesito mover una serie de archivos en base a varios atributos extendidos, pero no está claro cómo probar y tomar medidas en base a estos. Para un ejemplo básico, lo que si yo fuera a querer encontrar y mover todos los archivos en una carpeta que tienen el com.apple.quarantine a ~/Downloads/quarantined/ y archivos con com.apple.metadata:kMDItemWhereFroms a ~/Downloads/sort/ ?

Claramente uno podría pensar, primero ejecutar un comando como estos, pero verá que los resultados necesitan más procesamiento:

$ /bin/ls -ldO@ *
-rw-r--r--@ 1 USER  GROUP  - 123456789 Jul  8 10:52 FILENAME.EXT
    com.apple.quarantine          54
-rw-r--r--@ 1 USER  GROUP  - 123456789 Jul  4 15:26 FILENAME_2.EXT
    com.apple.quarantine          59
    com.apple.metadata:kMDItemWhereFroms         65
    ETC      XX

xattr no es mucho mejor en la medida en que ofrece resultados igualmente enrevesados:

$ xattr *
FILENAME.EXT: com.apple.quarantine
FILENAME_2.EXT: com.apple.metadata:kMDItemWhereFroms
FILENAME_2.EXT: com.apple.quarantine
FILENAME_2.EXT: ETC

¿Existe otra forma más limpia y eficiente de mover archivos basados en atributos frente a escribir un script que obtenga y luego procese los archivos basándose en varios campos de atributos del sistema de archivos extendido en MacOS?

1voto

wch1zpink Puntos 11

En Terminal, supongamos que el directorio actual en el que se encuentra es el directorio en el que desea buscar los archivos con el atributo com.apple.quarantine .

Este siguiente shell script encontrará y moverá los archivos.

find "$PWD" -type f -mindepth 1 -maxdepth 1 -xattrname com.apple.quarantine -exec mv {} ~/Downloads/quarantined/ \;

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple 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