可以在 Mac OS X 中的命令行上使用‘摘要服务’吗?
我已经尝试过管道,使用文本文件作为参数并将文本文件作为标准输入发送。
答案1
尝试这个 AppleScript(假设它名为 summary.scpt),然后使用“osascript summary.scpt <n>
”从命令行调用,其中 n 是所需摘要句子的数量。这适用于 OS X 10.6.7。只需将内容输入即可。
on run argv
set stdin to do shell script "cat"
set stdout to summarize stdin in (item 1 of argv)
end run
或者,你可以使用类似这样的一行代码:
#!/bin/bash
osascript -e 'set stdin to do shell script "cat"' -e "set stdout to summarize stdin in $1"
答案2
不幸的是,如果不编写应用程序(AppleScript ObjC,甚至是真正的 Obj-C 应用程序)来与 NSService 交互,就不行。即便如此,Summary Service 也只是一个 GUI 应用程序,因此它会调出 GUI。
但是,某些服务(如果是 Automator 工作流)可以通过在命令行上使用手动运行automator
。
答案3
还有一个名为利博茨其中包括一个可以通过管道传输的命令行“ots”可执行文件。Summary Service 和 OTS 似乎给出了不同的结果,在简短的测试中,我不确定我会给哪一个更高的分数。