Texto de análisis, "línea por línea", con automator

Soy muy nuevo en la programación, así que disculpe si esta es una pregunta muy simple, pero estoy tratando de crear un flujo de trabajo automático donde la variable cambiaría con cada ciclo, extrayendo las entradas de un documento de edición de texto.

(y también, estoy creando el documento de edición de texto, por lo que si formatearlo de manera diferente lo haría más fácil, hágamelo saber)

Por ejemplo, tengo un documento de edición de texto con varios números, todos de 3 dígitos, separados por saltos de línea, como este:

001
005
009
013
014
021

Me gustaría que Automator ejecute un flujo de trabajo la primera vez con la variable como "001", luego nuevamente con la variable como "005", luego una tercera vez como "009" y así sucesivamente. Y si facilita las cosas, puedo formatearlo para que esté todo en una línea, separado por comas, entre corchetes, lo que sea mejor.

Sé un poco de javascript y AppleScript, así que si esto se resuelve con un cuadro de ejecución de Javascript o AppleScript, eso es genial. ¡Gracias!

Automator podría no ser la mejor herramienta para esto. ¿Qué quieres hacer con cada línea después?
Sé que esto es torpe, pero planeo crear un flujo de trabajo de pulsaciones de teclas. Probablemente algo como Ctrl + F, escriba el texto "001", presione enter, Ctrl + X, Ctrl + V, bucle.
Automator no puede presionar teclas, por lo que AppleScript podría ser mejor
Sí, cuando necesito presionar una tecla, le digo a Automator que "ejecute AppleScript" o "ejecute Javascript". Entonces, si hay una solución que involucre a uno de ellos, eso también funcionaría para mí. ¡Lo aprecio!

Respuestas (1)

Dado que no está del todo claro cuál es el alcance total de lo que está tratando de lograr, el siguiente código AppleScript de ejemplo se entiende como una prueba de concepto .

Con un nombre de documento de texto sin formato Filename.txt en la carpeta Documentos que contiene:

001
005
009
013
014
021

Sin tener salto de línea después de la última línea , aquí hay algo que podría adaptar para lograr su objetivo.

El código AppleScript de ejemplo , que se muestra a continuación, se probó en el Editor de secuencias de comandos en macOS Catalina con la configuración de Idioma y región en Preferencias del sistema configurada en Inglés (EE. UU.) - Principal y funcionó para mí sin problema 1 .

  • 1 Supone que la configuración necesaria y adecuada en Preferencias del sistema > Seguridad y privacidad > Privacidad se ha establecido o abordado según sea necesario.


Ejemplo de código AppleScript

set theFile to ¬
    the POSIX path of ¬
        (((path to documents folder) ¬
            as string) & "Filename.txt")

set myList to ¬
    paragraphs of (read theFile)

tell application "TextEdit"
    activate
    make new document
    delay 2
end tell

tell application "System Events"
    repeat with thisItem in myList
        keystroke thisItem
        key code 36 --  # Enter key
    end repeat
end tell

Produce lo siguiente:

ingrese la descripción de la imagen aquí

Mirando en el panel Resultados de la ventana del Editor de secuencias de comandos , se muestra:

tell current application
    path to documents folder
        --> alias "Macintosh HD:Users:me:Documents:"
    read "/Users/me/Documents/Filename.txt"
        --> "001
005
009
013
014
021"
end tell
tell application "TextEdit"
    activate
    make new document
        --> document "Untitled"
end tell
tell application "System Events"
    keystroke "001"
    key code 36
    keystroke "005"
    key code 36
    keystroke "009"
    key code 36
    keystroke "013"
    key code 36
    keystroke "014"
    key code 36
    keystroke "021"
    key code 36
end tell


Nota: El código AppleScript de ejemplo es solo eso y, sin ningún manejo de errores incluido , no contiene ningún manejo de errores adicional que pueda ser apropiado. El usuario tiene la responsabilidad de agregar cualquier manejo de errores que sea apropiado, necesario o deseado. Eche un vistazo a la declaración de prueba y la declaración de error en la Guía del lenguaje AppleScript . Consulte también Trabajar con errores . Además, el uso del comando de retardo puede ser necesario entre eventos cuando corresponda, por ejemplo , con el valor del retardo delay 0.5establecer adecuadamente.