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