File io gnu并行中的文件I/O

File io gnu并行中的文件I/O,file-io,parallel-processing,gnu-parallel,File Io,Parallel Processing,Gnu Parallel,我有一个只接受一个参数的程序。我正在使用gnu parallel对这个参数执行参数扫描。每次运行都会生成一个结果,我想将所有结果附加到一个文件中,比如results.txt 这样做的正确方法是什么 我不应该让每个实例都打开文件并写入,因为这可能会产生冲突,也会打乱结果的顺序。我能想到的唯一方法是让每次运行在一个具有唯一名称的文件中生成其输出,然后,当gnu parallel完成运行时,使用脚本将结果合并到单个文件中 有没有更简单的方法来实现这一点 当多个实例写入/读取同一文件时会发生什么情况?g

我有一个只接受一个参数的程序。我正在使用gnu parallel对这个参数执行参数扫描。每次运行都会生成一个结果,我想将所有结果附加到一个文件中,比如results.txt

这样做的正确方法是什么

我不应该让每个实例都打开文件并写入,因为这可能会产生冲突,也会打乱结果的顺序。我能想到的唯一方法是让每次运行在一个具有唯一名称的文件中生成其输出,然后,当gnu parallel完成运行时,使用脚本将结果合并到单个文件中

  • 有没有更简单的方法来实现这一点
  • 当多个实例写入/读取同一文件时会发生什么情况?gnu parallel是否像对stdout和stderror那样为每个实例创建多个副本

  • 谢谢

    如果您的命令将结果发送到stdout(标准输出),则解决方案很简单:

    seq 1000 | parallel echo > Results.txt
    
    GNU并行保证输出不会混合