Um Textdokumente besser lesbar zu formatieren, wäre es schön, ausgewählte Texte durch ein Apple-Skript, das über das Kontextmenü Dienste ausgeführt wird, folgendermaßen zu formatieren:
Hat jemand das Knowhow, um ein solches Skript zu programmieren?
Das folgende AppleScript-Snippet fügt ein Leerzeichen zwischen jedem Zeichen einer Zeichenfolge hinzu. Kopieren Sie diesen Code und fügen Sie ihn unter Anwendungen > Dienstprogramme > Skripteditor ein , um ihn auszuprobieren:
set myText to "hello world"
set myResult to ""
repeat with c in every character in myText
set myResult to myResult & " " & c
end repeat
display dialog myResult
Mit diesem Skript können Sie Anwendungen > Automator verwenden, um Ihren Kontextmenüdienst zu erstellen.
Kopieren Sie das Skript und fügen Sie es ein:
on run {input, parameters}
set myText to input as string
set myResult to ""
repeat with c in every character in myText
set myResult to ((myResult & " " & c) as string)
end repeat
-- Convert to upper case using `tr`
set myResult to do shell script "echo " & quoted form of (myResult) & " | tr [:lower:] [:upper:]"
return myResult
end run
Ausgabe auswählen ersetzt ausgewählten Text
return "test"
. B. anstelle von zurückgibt return myResult
?set myText to input as string
. Die as string
scheint erforderlich zu sein. Ich habe auch die myResult
Verkettung typisiert, um sicherzustellen, dass sie ein Zeichenfolgentyp bleibt. Dies funktioniert jetzt unter OS X 10.10.4 als Dienst.Um den ausgewählten Text in Großbuchstaben umzuwandeln und zwischen jedem Zeichen ein Leerzeichen hinzuzufügen, fügen Sie die folgende Zeile zum Skript hinzu, das von Graham Miln gepostet wurde.
set myResult to do shell script "echo " & quoted form of (myResult) & " | tr [:lower:] [:upper:]"
In Automator wäre es also:
on run {input, parameters}
set myText to input as string
set myResult to ""
repeat with c in every character in myText
set myResult to ((myResult & " " & c) as string)
end repeat
set myResult to do shell script "echo " & quoted form of (myResult) & " | tr [:lower:] [:upper:]"
return myResult
end run
tr
Zeile in das Skript eingebaut.
Benutzer235