1 votos

Utilizar AppleScript para añadir texto al documento sin que haya una nueva línea

Quiero añadir texto a un documento sin línea nueva con AppleScript. Puedo hacerlo con esto:

do shell script "echo -n 'text_to_append'>> mydocument"

¿Hay alguna solución que no explote un shell script?

¡Si pongo el cuerpo de texto el contenido del documento se sobrescribe!

3voto

qarma Puntos 71
set f to POSIX file "/path/to/mydocument.txt"
write "text to append" to f starting at eof

El write y get eof forman parte de las funciones de AppleScript adiciones estándar . Si el starting at se omite, escribe el texto a partir de la última posición de escritura (que en este caso sería el principio del archivo) y sobrescribe los caracteres a medida que avanza.

eof indica el final del archivo.

EDITAR (2020-10-26): Gracias a un comentario, debo aclarar que es necesario que el archivo exista antes de usar el write de mando. El POSIX file también es superfluo. Una versión más completa del ejemplo anterior sería la siguiente:

set f to "/path/to/mydocument.txt"
close access (open for access f)
write "text to append" to f as "utf8" starting at eof

La segunda línea creará el archivo si no existe, y no tendrá ningún efecto si ya existe. Ahora se recomienda declarar el tipo de datos al escribir, para lo cual "utf8" es una buena opción si se escribe texto plano.

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