hello - applescript examples
Imprimir a Stdout con Applecript (2)
Al ejecutar AppleScript con #!/usr/bin/osascript
, puede devolver la salida de texto que desee con una declaración de retorno al final de su script.
Estoy tratando de ejecutar un script AppleScript desde la terminal, sin embargo no puedo imprimirlo llamando
osascript myFile.scpt "/path/to/a/file"
Lo estoy intentando:
on run fileName
set unique_songs to paragraphs of (read POSIX file fileName)
repeat with nextLine in unique_songs
if length of nextLine is greater than 0 then
set AppleScript''s text item delimiters to tab
set song to text item 2 of nextLine
set artist to text item 3 of nextLine
set album to text item 4 of nextLine
set output to ("Song: " & song & " - " & artist & " - " & album)
copy output to stdout
end if
end repeat
end run
El archivo delimitado por pestañas tiene un formato similar al siguiente:
1282622675 Beneath the Balcony Iron & Wine The Sea & the Rhythm
1282622410 There Goes the Fear Doves (500) Days of Summer
1282622204 Go to Sleep. (Little Man Being Erased.) Radiohead Hail to the Thief
Las pestañas no se muestran realmente bien en esto :(
No está muy claro CÓMO intenta ejecutarlo en Termanil. Pero supondré que ha guardado un archivo de texto de AppleScript con el #! / Usr / bin / osascript, para que se pueda ejecutar el archivo.
Luego llamó al archivo en la Terminal. simplemente usando la ruta al archivo.
Actualizado: usar eco
#!/usr/bin/osascript
#Here be the rest of your code ...
set output to ("Song: " & song & " - " & artist & " - " & album)
do shell script "echo " & quoted form of output
end tell
Actualización 2, en respuesta a los comentarios.
Si tengo una pestaña de archivo de texto delimitado con el contenido como:
track Skin Deep Beady Belle Closer
Las pestañas se establecen como: pista * TAB Piel Profunda TAB Beady Belle TAB * Más cerca
Y el archivo de script como:
on run fileName
set unique_songs to paragraphs of (read POSIX file fileName)
repeat with nextLine in unique_songs
if length of nextLine is greater than 0 then
set AppleScript''s text item delimiters to tab
set song to text item 2 of nextLine
set artist to text item 3 of nextLine
set album to text item 4 of nextLine
set output to ("Song: " & song & " - " & artist & " - " & album)
do shell script "echo " & quoted form of output
end if
end repeat
end run
El terminal de ejecución:
/usr/bin/osascript ~/Documents/testOsa2.scpt ~/Documents/testTab.txt
Vuelvo: Canción: Skin Deep - Beady Belle - Closer