我得到一个condor输出文件的问题:如何让condor在我的目录中拥有所有输出文件,而不指定文件名? 我尝试做: transfer_output_files = * .txt
但这只是在我的目录中给我一个“* .txt”... 谢谢!
答案 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