【发布时间】:2016-07-16 01:44:18
【问题描述】:
我正在尝试做的一件事是使用GNU Parallel 中的 {%} 选项完成一些数学运算
cat short | parallel -j 2 echo my_prog ----in {} ----out {/.}.extension ----gpu {= {%}+1 =} {= {%}-1 =}
(我在in、out 和gpu 前面有额外的破折号,以防万一。)
{= =} 中显示的数学是我需要做的,我只是不确定我是否理解如何用--rpl 和--parens 编写它
{= =} 是一个可以用 GNU 并行编写 Perl 表达式的空间。
我的程序也没有在这里运行,我只是在回显输出,看看一切是否正确。
有人可以解释一下如何在命令中进行这个简单的数学运算吗?
我的错误是这样的:
parallel: Error: Cannot use {%}+1 : Missing right curly or square bracket at (eval 13) line 2, at end of line
syntax error at (eval 13) line 2, at EOF
【问题讨论】:
-
抱歉,无法理解您要执行的操作。并行代码意味着您并行运行两个(隔离的)进程。您需要捕获和整理结果。
-
这是使用 gnu 并行,假设 my_prog 是并行运行的程序。我前面有 echo 只是为了确保我对 my_prog 的所有论点都是正确的。目前在这个例子中,gnu parallels 将并行运行 echo。
-
short中有什么内容?你从这个命令得到什么结果?为什么你认为这是错误的?对并行作业号{%}进行算术运算似乎很奇怪@ -
short 仅包含目录列表。这些将仅用于那些进出部分。已添加错误。
-
我假设在这些部分中使用 {= =} 和 {%} 存在冲突。
标签: bash perl gnu-parallel