Automator服务的脚本,用于删除回车符并在应用程序中替换它们的逗号和空格

时间:2013-04-06 20:00:57

标签: macos shell automator

使用automator我想创建一个允许我列表的服务

EX。

list item 1
list item 2
list item 3
list item 4

并删除返回回车符并将其替换为逗号和空格,

EX。

list item 1, list item 2, list item 3, list item 4 

在我的研究中,我遇到了各种方法来删除空格或回车,但它们都看起来像这样:

sed 's/[:space:]+/,/g' orig.txt > modified.txt

我可能错过了我想要的功能。我无论如何都不是程序员,有时我所说的或所描述的东西都在我的头上。

创建文本文档然后修改它对我不起作用。我需要能够在创建文档之前修改它。

这可能吗?

我的目标是获取一个脚本,我可以将其输入到Automator服务中,这将允许我在应用程序中选择文本,右键单击,选择允许我删除回车的预制函数并将其替换为逗号和空格。

如果事实上已经提出过这个确切的问题,那么也欢迎链接到文章。

感谢任何帮助。

全部谢谢!

弗洛伊德

1 个答案:

答案 0 :(得分:0)

选择服务模板,检查输出替换所选文本,然后添加这样的运行shell脚本操作,并选择传递输入作为参数:

x=${1%$'\n'}
printf %s "${x//$'\n'/, }"
[[ "$1" != "$x" ]] && printf '\n\n' || exit 0
  • ${var%pattern}从最后删除模式
  • ${var//search/replace}替换所有出现次数
  • printf %secho -n类似(它不会添加额外换行符)
  • 如果脚本不以0
  • 退出,​​则Automator会显示错误对话框