Analysieren von Text "Zeile für Zeile" mit Automator

Ich bin sehr neu in der Programmierung, also verzeihen Sie mir, wenn dies eine sehr einfache Frage ist, aber ich versuche, einen Automator-Workflow zu erstellen, bei dem sich die Variable mit jeder Schleife ändert und die Eingaben aus einem Textedit-Dokument zieht.

(und außerdem erstelle ich das Textbearbeitungsdokument. Wenn eine andere Formatierung dies einfacher machen würde, lassen Sie es mich wissen.)

Zum Beispiel habe ich ein Textbearbeitungsdokument mit mehreren Zahlen, alle 3 Ziffern, getrennt durch Zeilenumbrüche, wie folgt:

001
005
009
013
014
021

Ich möchte, dass der Automator das erste Mal einen Workflow mit der Variable als „001“ ausführt, dann erneut mit der Variable als „005“, dann ein drittes Mal als „009“ und so weiter. Und wenn es die Dinge einfacher macht, kann ich es so formatieren, dass es in einer Zeile steht, die durch Kommas getrennt und von Klammern umgeben ist, was auch immer am besten ist.

Ich kenne mich ein wenig mit Javascript und AppleScript aus, also wenn das etwas mit einem ausgeführten Javascript- oder AppleScript-Kästchen gelöst wird, ist das total cool. Danke!

Automator ist möglicherweise nicht das beste Tool dafür. Was möchten Sie danach mit jeder Zeile machen?
Ich weiß, das ist klobig, aber ich plane, einen Workflow von Tastendrücken zu erstellen. Wahrscheinlich so etwas wie Strg + F, Text "001" eingeben, Eingabetaste drücken, Strg + X, Strg + V, Schleife.
Automator kann keine Tastendrücke ausführen, daher ist AppleScript möglicherweise besser
Ja, wenn ich Tastendrücke benötige, sage ich dem Automator, dass er „AppleScript ausführen“ oder „JavaScript ausführen“ soll. Wenn es also eine Lösung gibt, die eine davon beinhaltet, würde das auch für mich funktionieren. Schätzen Sie es!

Antworten (1)

Da nicht ganz klar ist, was der volle Umfang dessen ist, was Sie zu erreichen versuchen, ist der folgende Beispiel -AppleScript- Code als Machbarkeitsnachweis gedacht .

Mit einem Nur-Text- Dokumentnamen Filename.txt im Documents- Ordner , der Folgendes enthält:

001
005
009
013
014
021

Da nach der letzten Zeile kein Zeilenvorschub vorhanden ist , können Sie möglicherweise Folgendes anpassen, um Ihr Ziel zu erreichen.

Der unten gezeigte AppleScript- Beispielcode wurde im Skript-Editor unter macOS Catalina getestet, wobei die Sprach- und Regionseinstellungen in den Systemeinstellungen auf Englisch (US) – Primär eingestellt waren, und hat bei mir ohne Problem 1 funktioniert .

  • 1 Vorausgesetzt, die erforderlichen und angemessenen Einstellungen in Systemeinstellungen > Sicherheit & Datenschutz > Datenschutz wurden nach Bedarf festgelegt/bearbeitet.


AppleScript - Beispielcode

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

Erzeugt Folgendes:

Geben Sie hier die Bildbeschreibung ein

Wenn Sie im Ergebnisbereich des Skript-Editor- Fensters nachsehen , wird Folgendes angezeigt:

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


Hinweis: Der Beispiel- AppleScript- Code ist genau das und enthält abgesehen von der enthaltenen Fehlerbehandlung keine zusätzliche Fehlerbehandlung , die angemessen sein könnte. Es liegt in der Verantwortung des Benutzers, eine Fehlerbehandlung hinzuzufügen, die angemessen, erforderlich oder gewünscht ist. Sehen Sie sich die try- Anweisung und die error- Anweisung im AppleScript Language Guide an . Siehe auch Arbeiten mit Fehlern . Zusätzlich kann die Verwendung des Verzögerungsbefehls gegebenenfalls zwischen Ereignissen erforderlich sein, z. B. mitdelay 0.5 dem Wert der Verzögerungpassend einstellen.