AppleScript: ¿Cómo escribir en una línea específica de un file de text?

Muestra el contenido de un file .txt en mi Mac:

This is sentence A. This is sentence B. This is sentence C. This is sentence D. This is sentence E. 

Quiero implementar una subrutina, como esta:

  • Necesidad de imprimir posts de text de iPhone
  • ¿Cómo cambio el formatting de date en iOS?
  • ¿Cómo puedo desaprender una palabra?
  • ¿Cómo se puede crear un atajo para pegar text sin formatting en Microsoft Word 2008 para Mac?
  • ¿Cómo eliminar una línea específica de un párrafo en AppleScript, conservando el formatting original del text?
  • Cómo mantener la selección de text en Terminal.app al escribir
  •  writeTextAtSpecificLine(("This is the newcomer sentence." & linefeed), 4) 

    de modo que el file de text se vería así:

     This is sentence A. This is sentence B. This is sentence C. This is the newcomer sentence This is sentence D. This is sentence E. 

    Sé que puedo lograr el resultado deseado haciendo que cada línea del file de text tenga su propio elemento en un object de list AppleScript, así:

     set theIndividualLinesOfTextFileAsList to paragraphs of (read theFilepathOfTxtFile) 

    Podría dividir la list , según el número de línea deseado, y luego volver a agregarla.

    Pero, ¿existe un método más eficiente?

    Mi file .txt real es mucho más largo que el contenido de muestra anterior.

  • ¿Qué es un atajo de keyboard en Keynote para editar un object de text sin hacer clic en él?
  • Seleccione reemploop de text sin agregar un espacio?
  • ¿El text desaparece aleatoriamente mientras se escribe?
  • Error de AppleScript: no puedo convertir text enriquecido a text sin formatting
  • ¿Puedo deshabilitar "copyr / search / compartir" automáticamente en mi iPhone SE?
  • ¿Cómo abrir un file como text sin formatting en TextEdit?
  • 2 Solutions collect form web for “AppleScript: ¿Cómo escribir en una línea específica de un file de text?”

    Versión editada:

     set selected_file to ((path to documents folder as text) & "hom.txt") as alias set text_data to "This is the newcomer sentence." InsertLine(selected_file, text_data, 4) on InsertLine(the_file, the_data, num_line) try set file_id to open for access the_file with write permission set text_data to read file_id -- CHECK EMPTY LINE if (paragraph num_line of text_data) ≠ "" then set the_offset to (offset of (paragraph num_line of text_data) in text_data) - 1 set remaining_data to (the_data) & (text the_offset thru -1) of text_data set eof of file_id to the_offset else -- LINE IS EMPTY set num_line to num_line - 1 set the_count to (count of (characters of (paragraph num_line of text_data))) - 1 set the_offset to (offset of (paragraph num_line of text_data) in text_data) + the_count + 2 set remaining_data to the_data & linefeed & ((text (the_offset + 1) thru -1) of text_data) set eof of file_id to the_offset - 1 end if -- WRITE DATA TO FILE --write the_data to file_id -- INSERT LINE write remaining_data to file_id -- WRITE REMAINING DATA close access file_id on error try close access the_file end try end try end InsertLine 

    No estoy seguro de que esta sea la forma más eficiente, pero esto logrará lo que estás buscando. Funciona para mí en la última versión de Sierra

     tell application "TextEdit" to make new paragraph at after third paragraph of text of document 1 with data "This is the newcomer sentence. \n" 
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).