Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 用于Automator服务的脚本,用于在应用程序中删除回车并替换为逗号和空格_Macos_Shell_Automator - Fatal编程技术网

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

Macos 用于Automator服务的脚本,用于在应用程序中删除回车并替换为逗号和空格,macos,shell,automator,Macos,Shell,Automator,使用automator,我想创建一个服务,允许我获取列表 前 并删除回车符回车,并用逗号和空格替换它们, 前 在我的研究中,我遇到了各种移除空间或车厢返回的方法,但它们看起来都是这样的: sed 's/[:space:]+/,/g' orig.txt > modified.txt 很可能我错过了我想要的功能。我无论如何都不是一个程序员,有时所说的或描述的事情超出了我的想象 创建一个文本文档然后修改它对我来说不起作用。我需要能够在创建文档之前对其进行修改 这可能吗 我的目标是得到一个脚本,

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

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

在我的研究中,我遇到了各种移除空间或车厢返回的方法,但它们看起来都是这样的:

sed 's/[:space:]+/,/g' orig.txt > modified.txt
很可能我错过了我想要的功能。我无论如何都不是一个程序员,有时所说的或描述的事情超出了我的想象

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

这可能吗

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

如果之前有人问过这个确切的问题,我们也非常感谢你的文章链接

感谢您的帮助

谢谢大家


Floyd

选择服务模板,选中“输出替换所选文本”,然后像这样添加一个运行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将显示一个错误对话框

哦,要知道automator是Mac os下的一个程序/工具。。。。。如果我的回答有帮助,请告诉我,如果没有帮助,我会删除它..哎呀,刚刚回复了你之前的评论。命令不起作用,没关系,我要删除那个答案。我对水果系统没有任何经验:)顺便说一句,我在行的末尾添加了一个
文件
。awk也接受stdin。你可以,例如,
echo foo | awk…
,但我不知道它是否对你的“自动机”有帮助。祝你好运。嗨,劳里,我贴了剧本,按照你给我的指示做了。但是,当我选择一些文本时,右键单击并选择我保存的服务,什么也不会发生。我确保将服务设置为在“任何应用程序”中接收“文本”,并打开和关闭“输出替换所选文本”。我没有看到任何结果。我可能做错了什么?记住,我无论如何都不是程序员。还在学习。我非常感谢你的帮助。谢谢。您是否将
传递输入
更改为
作为参数
?是的。我将输入作为参数传递。这不是多余的,但我想确定的是,当我尝试使用它时,下面是我正在执行的一系列步骤:在应用程序中选择文本,右键单击,选择预先制作的函数,该函数允许我删除回车符,并用逗号和空格替换它们。当你在程序外测试它时,它工作了吗?文件实际上有CR(旧Mac)或CRLF(Windows)行结尾吗?该服务仅适用于LF线端。您还可以复制文本并在终端中运行它:
x=$(pbpaste);echo“${x/$”\n“/,}”
。最后一个命令起作用了!我现在假设(仍在寻找一种确定的方法),但我应该有LF行结尾。我用的是新的OSX mac。10.7.5.
sed 's/[:space:]+/,/g' orig.txt > modified.txt
x=${1%$'\n'}
printf %s "${x//$'\n'/, }"
[[ "$1" != "$x" ]] && printf '\n\n' || exit 0