在集群上运行多个模拟后,我想将结果复制回我的本地计算机。
foo1
|bar1
|run1
|file1.txt
|file2.txt
|results.txt
|run2
|file1.txt
|file2.txt
|results.txt
|bar2
|run1
|file1.txt
|file2.txt
|results.txt
|run2
|file1.txt
|file2.txt
|results.txt
foo2
... (etc.)
每个run*
文件夹包含几个文件,需要运行模拟,但我只想复制的结果,说results.txt
回到我的本地机器,同时保持树结构的其余部分(目录基本上指定的模拟参数)。
现在如何仅将results.txt
文件从远程复制到本地,同时保持目录的树结构?这样我在本地结束
foo1
|bar1
|run1
|results.txt
|run2
|results.txt
|bar2
|run1
|results.txt
|run2
|results.txt
foo2
... (etc.)
用 find 和 tar:
find -name result.txt | tar cvfz results.tgz -T -
那么你需要复制焦油并解开它:
tar xvfz results.tgz
你可以在两个阶段做到这一点:
find . -type f -name results.txt | xargs tar -f results.tar
这将查找所有名为 results.txt 的文件(-type f
),然后将结果通过管道传递到 tarball 中。
第二阶段是scp
从集群返回到本地计算机。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(1条)