Valor agregado de AppleScript dentro del texto

0

Digamos que tengo el siguiente archivo de texto:

  
  1. DEMO
  2.   
  3. TEXT1
  4.   
  5. TEXT2
  6.   
  7. DEMO
  8.   
  9. etc....

  10.   
  11. DEMO

  12.   
  13. TEXT1
  14.   
  15. TEXT2
  16.   
  17. DEMO
  18.   
  19. etc....

  20.   
  21. DEMO

  22.   
  23. TEXT1
  24.   
  25. TEXT2
  26.   
  27. DEMO
  28.   
  29. etc ....
  30.   

Me gustaría agregar texto entre el primer TEXT1 y TEXT2 (línea 2/3)

para que el texto sea como:

  
  1. DEMO
  2.   
  3. TEXT1 MI TEXTO AQUÍ
  4.   
  5. TEXT2
  6.   
  7. DEMO
  8.   
  9. etc....

  10.   
  11. DEMO

  12.   
  13. TEXT1
  14.   
  15. TEXT2
  16.   
  17. DEMO
  18.   
  19. etc....

  20.   
  21. DEMO

  22.   
  23. TEXT1
  24.   
  25. TEXT2
  26.   
  27. DEMO
  28.   
  29. etc ....
  30.   

Sé cómo puedo filtrar el texto para obtener el valor de cualquier texto que esté allí con el código de abajo, pero ¿cómo puedo agregar texto en mi archivo de texto en este emplazamiento?

property leftEdge1 : "2. TEXT1"
property rightEdge1 : "3. TEXT2"
set myNewCaseNote to ""
set newFile to (path to desktop folder as text) & "_Note_Backup.txt"
set theSource to read file newFile
set theText to Unicode text
try
    set saveTID to text item delimiters
    set text item delimiters to leftEdge1
    set classValue to text item 2 of theSource
    set text item delimiters to rightEdge1
    set myCaseNote to text item 1 of classValue
    set text item delimiters to saveTID
    myCaseNote
end try
    
pregunta Kevin 28.05.2018 - 08:49

2 respuestas

1

El procesamiento de texto debe hacerse con shell script. Normalmente se puede hacer en una línea corta:

sed 's;^[^0-9]*2 TEXT1;& MY TEXT HERE;' text_file.txt

Suponiendo que no hubiera algún tipo de problema de sangría arriba. Sin embargo, según lo que parece que quisiste decir, aquí hay otra solución:

sed 's;^[^0-9]*2 TEXT1;&\'$'\n'' MY TEXT HERE;' text_file.txt

AppleScript no es la herramienta adecuada para este trabajo.

    
respondido por el William T Froggard 28.05.2018 - 17:17
1

Como se explicó en la respuesta anterior, hay mejores formas de hacer lo que quieres, pero si quieres hacerlo utilizando AppleScript, puedes lograrlo con una versión modificada de esto:

on SearchAndReplace(SearchString, ReplaceString, SearchIn)
    set text item delimiters to SearchString
    set temp to text items of SearchIn
    set text item delimiters to ReplaceString
    set z to temp as string
    set text item delimiters to ""
    return z
end SearchAndReplace

on run
    set OriginalFullText to "DEMO
TEXT1
TEXT2
DEMO
etc....
DEMO
TEXT1
TEXT2
DEMO
etc....
DEMO
TEXT1
TEXT2
DEMO
etc...."

    set test to "TEXT1
TEXT2"
    set Text1 to "TEXT1"
    set Text2 to "TEXT2"
    set MyText to Text1 & " My Text Here" & return & Text2
    set Text2 to my SearchAndReplace(test, MyText, OriginalFullText)
end run

Espero que ayude.

    
respondido por el MBUST 28.05.2018 - 18:32

Lea otras preguntas en las etiquetas