【问题标题】:wildcard in condor transfer_output_files秃鹰 transfer_output_files 中的通配符
【发布时间】:2016-11-04 20:43:41
【问题描述】:

我得到一个 condor 输出文件的问题:如何让 condor 在我的目录中拥有所有输出文件,而不指定文件名? 我尝试这样做: transfer_output_files = *.txt

但这只是在我的目录中给我一个“*.txt”... 谢谢!

【问题讨论】:

    标签: condor


    【解决方案1】:

    HTCondor 会自动将其工作目录中的所有内容传回,因此只要您创建文件时,它们是在当前目录中创建的,它们应该会出现在提交节点的工作目录中。

    如果你想移动其他类型的文件,那么你需要使用 transfer_output_remaps,在文档中给出如下:

    transfer_output_remaps <`` name newname ; name2 newname2 ... ''>

    这指定从完成的作业下载输出文件时要使用的名称(和可选的路径)。通常,输出文件会以与执行目录中相同的名称传输回初始工作目录。这使您可以选择使用不同的路径或名称保存它们。如果您指定相对路径,则最终路径将相对于作业的初始工作目录。

    name 描述了您的作业生成的输出文件名,newname 描述了它应该下载到的文件名。可以通过用分号分隔每个重新映射来指定多个重新映射。如果您希望重新映射包含等号或分号的文件名,可以使用反斜杠转义这些特殊字符。您不能指定要重新映射的目录。*

    所以这里没有办法通过外观来指定通配符,但是通过外观你需要让 condor 传输输出本身。

    【讨论】:

      【解决方案2】:

      解决此问题的一种方法是使用存档作为输出,例如AllTextFiles.zip。 在您的执行程序中添加一行,将所有 txt 文件添加到存档中。

      直接从命令行是这样的:

       7z a  AllTextFiles.zip *.txt
      

      可以用 7z 完成,这应该不会太麻烦。我认为您可以使用 powershell 创建一个 zip,但这是另一个问题。在 Linux 中它会更容易。有些语言内置了归档功能,所以这也是一种可能。

      在.sub 文件中,您需要该行

      transfer_output_files = AllTextFiles.zip
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-06
        • 1970-01-01
        • 2016-10-19
        • 1970-01-01
        • 1970-01-01
        • 2021-05-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多