我一直在使用BBEdit开发一段时间。我经常使用BBEdit进行查找和替换。有时候,我想从一系列文本中删除所有行结尾和标签,我很容易在BBEdit中使用正则表达式查找,因为它的查找和替换是可编写脚本的。 Coda有能力执行grep查找和替换,但我不认为它是可编写脚本的。所以,我从两个方面解决了这个问题:1)看看我是否可以在Coda中使用Applescript进行grep查找和替换(我认为不可能),或者2)将我的文本传递给命令行并执行那样。除非有人有前者的例子,否则这个问题将与通过命令行进行。
我正在使用Coda的内置脚本中的一个作为模板,并结合其他一些关于此问题的类似线程。我不是Applescript或正则表达式专家,所以如果这是一个简单的错误,请放轻松。
我输入的文本可能有很大差异,但通常是HTML和/或JS代码。
此脚本将运行,但没有任何反应。有什么想法吗?
-- script settings
on CodaScriptSettings()
return {displayName:"Remove Line Endings", inContextMenu:"yes"}
end CodaScriptSettings
-- actual script
tell application "Coda"
try
tell current split of front document
if selected text is not equal to "" then
set someText to selected text
else
set someText to contents
end if
end tell
on error
beep
return
end try
end tell
set shellscriptString to "echo " & quoted form of someText & "|sed \"s/[\\t\\r\\n\\x]+/ /g\"" as string
set shellresult to do shell script shellscriptString without altering line endings
tell application "Coda"
try
tell current split of document 1
if selected text is not equal to "" then
set selected text to shellresult
else
set contents to shellresult
end if
end tell
on error
beep
end try
end tell
答案 0 :(得分:1)
试试这个:
set shellscriptString to "echo " & quoted form of someText & "|tr -d '\\\t\\r\\n\\x'" as string