提前感谢您的意见。我对以下 AppleScript 有疑问。我两次运行相同的命令并得到两个不同的响应。第一个是 unix 命令(grep),第二个是纯 AppleScript。我正在尝试在 teX 文档中找到一个字符串,即 \begin{document} 。然后我想用 AppleScript 在这个字符串之前添加一个 \usepackage{whatever} 。我有一个 python 脚本可以做我想要的,除了我不能将活动窗口的文件位置从 TeXShop 传递给 python,只有 AppleScript。
问题:为什么unix版本与纯AppleScript版本不同?请记住 \begin{document} 肯定在我正在检查的文档中。纯版本可以正常工作。
tell application "TeXShop"
-- get the front document and save
set thisDoc to the front document
-- get the filename and cursor position of the document
get path of thisDoc
set filePath to result
--set insPoint to offset of selection of thisDoc
end tell
set searchResult to do shell script "grep -q \\begin{document}" & filePath & "; echo $?" --echo 0 on match found/success and 1 on not found
if searchResult = "0" then
display dialog "string found"
else
display dialog "string not found"
end if
set findThis to "\\begin{document}"
set theFileContent to read filePath
if result contains findThis then
display dialog "string found"
else
display dialog "string not found"
end if