1 votos

Análisis de texto, "línea por línea", con el automatizador

Soy muy nuevo en la programación así que perdonadme si es una pregunta muy simple, pero estoy intentando crear un flujo de trabajo en automator donde la variable cambiaría con cada bucle, sacando las entradas de un documento textedit.

(y también, estoy creando el documento de edición de texto, por lo que si el formato de forma diferente haría esto 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, así:

001
005
009
013
014
021

Me gustaría que Automator ejecutara un flujo de trabajo la primera vez con la variable como "001", luego otra vez con la variable como "005", luego una tercera vez como "009" y así sucesivamente. Y si hace las cosas más fáciles puedo formatearla para que esté toda en una línea separada por comas, rodeada por paréntesis, lo que sea mejor.

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

1voto

user3439894 Puntos 5883

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

Con un documento de texto sin formato nombre Nombre de archivo.txt en el Documentos carpeta que contiene:

001
005
009
013
014
021

Al no tener salto de línea después de la última línea Aquí hay algo que podría adaptar para lograr su objetivo.

El ejemplo AppleScript código que se muestra a continuación, se probó en Script Editor en MacOS Catalina con Lengua y región ajustes en Preferencias del sistema ajustado a Inglés (EE.UU.) - Primaria y me ha funcionado sin problemas 1 .

  • 1 Asume los ajustes necesarios y apropiados en <strong>Preferencias del sistema </strong>> <strong>Seguridad y privacidad </strong>> <strong>Privacidad </strong>se han fijado/abordado según las necesidades.

Ejemplo AppleScript código

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:

enter image description here

Mirando en el Resultados panel de la Script Editor ventana 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 <em>ejemplo </em><strong>AppleScript </strong><em>código </em>es sólo eso y sin ningún tipo de inclusión <em>tratamiento de errores </em>no contiene ningún otro <em>tratamiento de errores </em>según corresponda. Corresponde al usuario añadir cualquier <em>tratamiento de errores </em>como sea apropiado, necesario o deseado. Eche un vistazo a la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129232" rel="nofollow noreferrer"><strong>pruebe con </strong></a><em>declaración </em>y <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129657" rel="nofollow noreferrer"><strong>error </strong></a><em>declaración </em>en el <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html" rel="nofollow noreferrer"><strong>Guía del lenguaje AppleScript </strong></a>. Véase también, <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_error_xmpls.html#//apple_ref/doc/uid/TP40000983-CH221-SW1" rel="nofollow noreferrer"><strong>Trabajar con errores </strong></a>. Además, el uso de la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW10" rel="nofollow noreferrer"><strong>retraso </strong></a><em>comando </em>puede ser necesario entre eventos cuando sea apropiado, por ejemplo <code>delay 0.5</code> con el <em>valor </em>de la <em>retraso </em>ajustado apropiadamente.

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