¿Hay alguna manera de configurar la etiqueta de color de un archivo en algún color cuando estoy en la Terminal?
Sé que el siguiente comando enumera información sobre el color actual, pero no puedo entender cómo hacer algo al respecto. Me gusta cambiarlo.
mdls -name kMDItemFSLabel somefile.ext
La razón por la que me gustaría saber es que quiero marcar recursivamente todos los archivos en una carpeta de cierto tipo con una determinada etiqueta de color (en mi caso, gris).
Sé cómo hacer el hallazgo:
find . -name "*.ext"
Y sé cómo puedo ejecutar el comando después para cada archivo usando -exec
, pero necesito saber cómo hacer el etiquetado real ...
Me gustaría una solución que solo incluya comandos integrados en Mac OS X. Por lo tanto, preferiblemente no hay cosas de terceros, a menos que no haya otra forma.
osascript -e "decirle a la aplicación \" Finder \ "que establezca el índice de etiqueta del archivo POSIX (\" / junk.txt \ ") en 1"
fuente
osascript -e "tell app \"Finder\" to set label index of POSIX file (\"/junk.txt\") to 1
¿Qué pasa si junk.txt está realmentemy full/path/with spaces.txt
almacenado en una variable llamada$fileName
? He probado innumerables sintaxis y comillas simples, comillas dobles ... y ninguna de ellas funciona.File\ with\ Spaces.txt
Aquí está mi versión, basada en los dos de @Lauri y @Robert. Especifique el color usando el nombre del color, no el número. Los nombres de los colores son consistentes con la salida de
hfsdata -L
, por lo que utiliza "Ninguno" para no asignar color al archivo. Guarda esto en un archivo llamado "setlabel" y hazlochmod 755 setlabel
.fuente
Para verlos en el Finder (lo sé, no lo que pediste) puedes usar xattr -l, o xattr -p com.apple.FinderInfo, obtienes un indicador entre los ceros (1E), de los cuales los bits más bajos son color .. Con material de terceros: hfsdebug (uso con sudo) para obtener mucha información, entre los cuales se encuentra una etiqueta de color legible.
Para cambiarlos con cosas de terceros: osxutils tiene un comando setlabel.
fuente
Esto usaría el mismo orden para los colores que Finder.
stderr se redirige porque la conversión de una ruta relativa a un alias da como resultado una advertencia como CFURLGetFSRef se pasó esta URL que no tiene esquema en 10.8. stdout se redirige porque osascript imprime el valor de la última expresión.
fuente
Me encantan estos scripts, sin embargo, no funcionaban para mis archivos que usaban espacios en sus nombres hasta que cambié la configuración de IFS para bash dentro del script, también cambié la entrada del archivo para aceptar un archivo de texto con una lista de nombres de archivos:
fuente
Aquí hay dos artículos que describen cómo hacerlo con AppleScript, que a su vez se puede invocar desde la línea de comandos.
Cómo configurar la etiqueta de color a través de Terminal o AppleScript
y
etiquetar archivos con colores en el buscador os-x desde scripts de shell .
fuente