GNU 与 Perl 表达式并行; zsh: `}' 附近的解析错误
GNU parallel with Perl expression; zsh: parse error near `}'
尝试运行这个示例命令(来自手册页):
seq 10 | parallel echo {} + 1 is {= '$_++' =}
我收到错误
zsh: parse error near `}'
如何解决这个问题并在并行命令中使用 {=perl 表达式=}
替换字符串?
我在 macOS 上的 iTerm 2 中,使用 zsh。
与任何命令一样,引用任何内容 zsh
如果不加引号,将尝试解释自身。
seq 10 | parallel 'echo {} + 1 is {= $_++ =}'
在这种情况下,parallel
只是将各种元素连接成一个字符串,然后 对其进行自己的解析,然后再将结果传递给shell;你也可以只传递一个字符串开始。
(感谢 @MarkSetchell)
这对我来说非常有效:
seq 10 | parallel --parens ,,,, echo {} + 1 is ,, '$_++' ,,
将 --parens
设置为 ,,,,
然后将 perl 表达式引用为 ,<i>perl 表达式</i>,
.
尝试运行这个示例命令(来自手册页):
seq 10 | parallel echo {} + 1 is {= '$_++' =}
我收到错误
zsh: parse error near `}'
如何解决这个问题并在并行命令中使用 {=perl 表达式=}
替换字符串?
我在 macOS 上的 iTerm 2 中,使用 zsh。
与任何命令一样,引用任何内容 zsh
如果不加引号,将尝试解释自身。
seq 10 | parallel 'echo {} + 1 is {= $_++ =}'
在这种情况下,parallel
只是将各种元素连接成一个字符串,然后 对其进行自己的解析,然后再将结果传递给shell;你也可以只传递一个字符串开始。
(感谢 @MarkSetchell)
这对我来说非常有效:
seq 10 | parallel --parens ,,,, echo {} + 1 is ,, '$_++' ,,
将 --parens
设置为 ,,,,
然后将 perl 表达式引用为 ,<i>perl 表达式</i>,
.