1

我有一个 ac 程序,它通过标准输入 main(argc) 或通过 scanf() 调用输入。

它的设置使得如果没有合适的标准输入,它使用 scanf() 调用来请求输入。

我正在尝试使用 gnu 并行启动具有不同输入值的该程序的多个版本。该程序将 2 个整数作为输入,例如:

printf("\nEnter Start Line (0 for first line) :");
scanf ("%d",&startline);

printf("\nEnter End Line:");
scanf ("%d",&endline);

输入也将是增量的,因此如果第一个文件的输入是 0 10 那么第二个文件输入将是 10 20 第三个文件 20 30 等等。

我只是很难构建正确的调用来实现我想要的。有人对此有任何想法吗?

谢谢

4

1 回答 1

0

因此,您的程序从 STDIN 读取,并且您希望将输入分成 2 行块,每个块都传递给您的程序:

cat your_input | parallel --pipe -N2 your_program

例子:

seq 10 | parallel --pipe -N2 echo "NEW"\; cat

花一个小时浏览教程。您的命令行会因此而爱上您。 http://www.gnu.org/software/parallel/parallel_tutorial.html#gnu_parallel_tutorial

于 2013-09-19T07:13:15.810 回答