gpt4 book ai didi

bash - GNU 并行中的数学

转载 作者:行者123 更新时间:2023-11-29 09:39:43 26 4
gpt4 key购买 nike

我想做的一件事是用 GNU Parallel 中的 {%} 选项做一些数学运算。

cat short | parallel -j 2 echo my_prog ----in {} ----out {/.}.extension ----gpu {= {%}+1 =} {= {%}-1 =}

(为了以防万一,我在inoutgpu 前面有额外的破折号。)

{= =} 中显示的数学是我需要做的全部,我只是不确定我是否理解如何用 --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

最佳答案

问题 #1

您需要对 Perl 程序进行转义,这样它就不会被 shell 处理。在程序周围使用单引号是常用的方法。

问题#2

看起来 {%} 没有在 {= =} 中被替换,这是有道理的。 {= =} 说“您可以完全访问所有 GNU parallel 的内部函数和数据结构”,因此找到提供插槽号。

问题#3

插入到命令中的是$_的值,所以需要将和赋值给$_

解决方案

{= '$_ = $job->slot() + 1' =}

关于bash - GNU 并行中的数学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38401206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com