相关疑难解决方法(0)

bash脚本的并行执行

URL_Experiment我的数据库中有一个表(mySQL 数据库)。我在这个表中有 200 万个 URL 链接。

对于每个 URL,我正在检查 URL 中是否存在某些特定文本并将信息更新回我的URL_Experiment表中。

现在,我需要让脚本快速运行。我想到的简单解决方案是:

将它们URL_Experiment分成 10 个表(每个表有 200,000 行)并同时运行脚本 10 次。这样,我可以确保更新正确进行。但为此,我需要保存 10 个脚本,每个脚本访问正确的表(我需要将表从 1 重命名为 10)。

虽然以上看起来是一个非常巧妙的解决方案,但我正在寻找一个更复杂的解决方案。将同时(并行)执行相同脚本作为 10 个进程的东西。我关心的是执行时间。我不希望资源在可以利用的时候被浪费掉。

scripting bash shell-script

7
推荐指数
1
解决办法
3006
查看次数

防止 GNU 并行分割引用的参数

我正在尝试使用GNU Parallel结合常量和变化的参数来多次运行comman。但由于某种原因,即使我在将常量参数传递给parallel.

在此示例中,常量参数应作为单个参数而不是两个参数'a b'传递:debug-call

$ parallel debug-call 'a b' {} ::: {1..2}
[0] = '[...]/debug-call'
[1] = 'a'
[2] = 'b'
[3] = '1'
[0] = '[...]/debug-call'
[1] = 'a'
[2] = 'b'
[3] = '2'
Run Code Online (Sandbox Code Playgroud)

debug-call是一个简单的脚本,它打印传入的每个参数argv。相反,我希望看到这个输出:

[0] = '[...]/debug-call'
[1] = 'a b'
[2] = '1'
[0] = '[...]/debug-call'
[1] = 'a b'
[2] = '2'
Run Code Online (Sandbox Code Playgroud)

这是一个错误还是有一个选项可以阻止 GNU Parallel 在将命令行参数传递给命令之前分割它们?

command-line quoting gnu-parallel

4
推荐指数
1
解决办法
2170
查看次数