我得到了一个关于condor输出文件的问题:如何让condor在我的目录中拥有所有的输出文件,而不指定文件的名称?我尝试这样做: transfer_output_files = *.txt
但这只是在我的目录中给了我一个"*.txt“...谢谢!
发布于 2016-05-16 22:25:22
HTCondor会自动将其工作目录中的所有内容传输回来,因此,只要您在创建文件时,这些文件是在当前目录中创建的,它们就应该出现在提交节点的工作目录中。
如果您想要移动其他类型的文件,那么您需要使用transfer_output_remaps,文档中给出了如下内容:
transfer_output_remaps <`` name newname ; name2 newname2 ... ''>
这指定从完成的作业下载输出文件时要使用的名称(以及可选的路径)。通常,输出文件被传输回初始工作目录,其名称与执行目录中的名称相同。这为您提供了用不同的路径或名称保存它们的选项。如果指定相对路径,则最终路径将是作业的初始工作目录的相对路径。
name描述作业生成的输出文件名,newname描述应将其下载到的文件名。可以通过用分号分隔每个重映射来指定多个重映射。如果您希望重新映射包含等号或分号的文件名,则可以使用反斜杠对这些特殊字符进行转义。无法指定要重新映射的目录。*
因此,这里没有办法通过事物的外观来指定通配符,而是通过事物的外观来指定通配符,您只需要让condor传输输出本身。
发布于 2016-11-04 20:43:41
解决这个问题的一种方法是使用存档作为输出,例如AllTextFiles.zip。在您的执行程序中,添加一行代码来获取所有txt文件并将它们添加到归档中。
直接从命令行执行如下所示:
7z a AllTextFiles.zip *.txt它可以用7z来完成,这应该不会有太多麻烦。我认为您可以使用powershell创建zip,但这是另一个问题。在Linux中,这会更容易。一些语言内置了归档功能,因此这也是一种可能性。
在.sub文件中,您需要这一行
transfer_output_files = AllTextFiles.ziphttps://stackoverflow.com/questions/33410303
复制相似问题