condor transfer_output_files中的通配符

时间:2015-10-29 09:26:12

标签: condor

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

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

2 个答案:

答案 0 :(得分:2)

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

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

  

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

     

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

     

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

所以没有办法在这里通过事物的外观来指定通配符,但是根据事物的外观,你需要让condor转移输出本身。

答案 1 :(得分:1)

解决此问题的可能性是使用存档作为输出,例如AllTextFiles.zip。 在您的执行程序中添加一行,其中包含所有txt个文件,并将它们添加到存档中。

直接从命令行出现:

 7z a  AllTextFiles.zip *.txt

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

.sub文件中,您需要

transfer_output_files = AllTextFiles.zip