bash shell有一组用于处理文本的命令——比如sort(它可以对文本文件中的行进行排序)、tr(您可以使用它将大写字母转换为小写字母,或者删除整个字符类)等等。如果您想从OSX GUI中访问这些工具,MacOSXHints.com的读者michaeltyson提供了一个自动程序服务——您可以自己构建或下载——它将允许您这样做。
要自己创建服务,请打开Automator并从模板窗口选择service。将Run Shell脚本从实用程序操作拖到工作流工作区中。复制下面的脚本,然后粘贴到脚本窗口:
结果= ' osascript - e '告诉应用程序”系统事件”“e”激活“e”设置结果(显示对话框”对选中的文本过滤通过输入shell命令:“标题“过滤文本”默认的答案“排序”按钮{“取消”、“过滤器”}默认按钮2)- e的文本返回的结果& % % % % 9月“&按钮返回的结果- e结束告诉| sed的年代/”/ \ / g ' '
[!"$result"] && cat && exit;
按钮= ' echo "$result" | sed s/.*%%SEP%%// '
命令= ' echo ' ' $result" | sed s/%%SEP%%.*// '
["$button" = 'Cancel'] && cat && exit;
cat | sh -c "$command"
将它保存到/Library/Services(需要时进行身份验证)。
如果你不想自己完成所有的工作,你可以下载工作流程;解压后,保存到同一个文件夹。
完成后,您可以在任何应用程序中选择一些文本,右键单击,并从Services子菜单中选择您的工作流。会弹出一个文本过滤对话框。输入要在其中使用的shell命令,然后单击Filter。工作流将运行您的shell命令并使用结果替换所选文本。michaeltyson提出了几个示例命令;您可以在这里找到更多信息,或者在bash手册页面中查找。
本文“用shell命令过滤文本”最初由Macworld 。