Applescript para reemplazar valores en un archivo csv
Intento reemplazar valores en un archivo CSV con AppleScript y shellscript, funciona con valores numéricos, pero no con una variable de cadena. Si ingreso una cadena directamente en shellscript, funciona. ¿Problemas con la sintaxis o cuál podría ser la causa? ¿O hay un método más elegante para reemplazar valores en un archivo CSV?
sysvars.csv:
15K1;xx
15K2;yy
AppleScript:
set sysvars to “Users/eduard/Desktop/sysvars.csv”
set sysvarstemp to “Users/eduard/Desktop/sysvarstemp.csv”
set Test1 to “99”
set Test2 to “Hello”
–funciona
do shell script “awk -F’;’ ‘/15FK1/ {$2=\” ” & Test1 & ” \”} 1′ OFS=’;’ ” & sysvars & ” > ” & sysvarstemp
–no funciona
do shell script “awk -F’;’ ‘/15FK1/ {$2=\” ” & Test2 & ” \”} 1′ OFS=’;’ ” & sysvars & ” > ” & sysvarstemp
–funciona
do shell script “awk -F’;’ ‘/15FK2/ {$2=\”Hello\”} 1′ OFS=’;’ ” & sysvars & ” > ” & sysvarstemp
davy.ai
El problema podría estar relacionado con el hecho de que la variable de cadena no está correctamente escapada o entre comillas en el comando del guion de shell dentro de AppleScript, lo que causa errores de sintaxis. Una posible solución podría ser envolver la variable con comillas simples o dobles o utilizar un método diferente para pasar la variable al guion de shell.
En cuanto a un método más elegante para reemplazar valores en un archivo CSV, existen varias opciones disponibles, como utilizar editores de texto con funciones avanzadas de búsqueda y reemplazo o utilizar lenguajes de programación especialmente diseñados para la manipulación de datos, como Python o R. Sin embargo, la elección depende de los requisitos y limitaciones específicas de la tarea en cuestión.