0 votos

Automatizador: Decodificar la selección de Decode64 y mostrar la salida en una nueva ventana de TextEdit

Me gustaría mostrar un servicio en un menú contextual para un texto seleccionado que es una cadena base64. El servicio tiene que decodificarla a cadena con base64 a través del terminal script y mostrar una salida en una nueva ventana de TextEdit.

Tengo un servicio en una aplicación de Automator que tiene un script shell con entrada como argumentos y comando:

"$@" | base64 --decode

Hay una acción "Nuevo documento TextEdit" conectada al shell script.

Esta ventana vacía de la pantalla

Si cambio el comando a pbpaste | base64 --decode y copio una cadena base64 al portapapeles entonces el servicio funciona correctamente.

¿Cómo canalizar el argumento de entrada, que es una cadena seleccionada en base64, al comando 'base64 --decode'?

0voto

user3439894 Puntos 5883

Si su Automatizador Servicio/Acción Rápida se establece, por ejemplo, en El servicio recibe el texto seleccionado en cualquier aplicación / El flujo de trabajo recibe texto en cualquier aplicación , entonces en el Ejecutar Shell script acción con Pasar la entrada: como argumentos establecido, entonces la siguiente línea de código devolverá el texto descifrado a un Nuevo documento TextEdit acción :

Nota: El uso de términos separados con un / es denotar la diferencia entre Automatizador antes de MacOS Mojave y de ahí en adelante.

base64 --decode <<< "$@"

Como alternativa al uso del Ejecutar Shell script acción y el Nuevo documento TextEdit acción , con sólo usar un Ejecutar AppleScript acción para realizar la tarea:

on run {input, parameters}

    set encodedString to input as string

    set decodedString to ¬
        (do shell script "base64 --decode <<<" & encodedString's quoted form)

    tell application "TextEdit" to ¬
        make new document with properties {text:decodedString}

end run

0voto

Ted Wrigley Puntos 101

En Automator, puede configurar un flujo de trabajo de la siguiente manera:

enter image description here

Pasa datos base64 a stdin, como se muestra, y esto decodificará los datos y los escribirá en la ventana frontal de TextEdit (abriendo la aplicación y la ventana, si es necesario). Esto sobrescribirá el contenido de esa ventana; puedes configurarlo para que lo añada en su lugar, o añadir un paso extra para abrir primero una ventana nueva.

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