0

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

前任。

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

并删除回车回车并用逗号和空格替换它们,

前任。

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

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

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

我很可能错过了我正在寻找的功能。无论如何,我都不是程序员,有时所说或描述的事情会超出我的想象。

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

这可能吗?

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

如果实际上之前已经提出过这个确切的问题,那么也感谢文章的链接。

任何帮助表示赞赏。

谢谢大家!

弗洛伊德

4

1 回答 1

0

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

x=${1%$'\n'}
printf %s "${x//$'\n'/, }"
[[ "$1" != "$x" ]] && printf '\n\n' || exit 0
  • ${var%pattern}从末尾删除一个模式
  • ${var//search/replace}替换所有出现
  • printf %s就像echo -n(它不添加额外的换行符)
  • 如果脚本没有以 0 退出,Automator 会显示错误对话框
于 2013-04-07T08:43:12.197 回答