【发布时间】:2019-10-18 22:50:28
【问题描述】:
我正在尝试在我的 AppleScript 中执行一个 shell 脚本,我在其中 grep 一个 CSV 文件并将一个列表返回到我的 AppleScript。
例如,我的 CSV 有行
01,{"tacos","burritos"}
02,{"burgers","hot dogs", "corn dogs"}
我的 AppleScript 设置为
set a to 01
set b to 02
set myMenu to do shell script "grep " & a & " [path to CSV] | cut -d ',' -f 2")
set menuChoice to (choose from list myMenu)
display alert menuChoice
当我这样做时,我从列表中选择显示为列表中的一项,将菜单项显示为字符串,但我希望它们是单独的菜单项。
意思是我从列表中选择显示为:
{"tacos","burritos"}
代替:
tacos
burritos
【问题讨论】:
-
您可以只使用 AppleScript,但读取文件或使用 shell 脚本的结果将是文本,因此您需要将其转换为列表。您的示例最简单的方法是运行带有结果的脚本,例如
set myMenu to run script myMenu,但最好的方法是重组你的文件,这样你就可以在不使用列表语法的情况下获取项目。 -
同意:如果可以的话,从 CSV 切换到 XML 或 JSON。两者都可以描述复杂的嵌套数据,并且易于使用现有的 AS 工具进行解析。
标签: arrays string list applescript