bash - 复制树结构,包括叶子中的单个文件
问题描述
在集群上运行了几次模拟后,我想将结果复制回我的本地机器。结果整理如下:
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 并解压它:
tar xvfz results.tgz
推荐阅读
- typescript - TypeScript:意外行为的关键
- android - Capacitor Plugin开发如何重新安装以调试/测试更改
- c# - 控制器中的 Asp.Net MVC 5 ModelState 具有索引、添加、编辑
- autodesk-forge - 在长链接上正确使用 addProperty()
- php - 无法使用 curl 在 cron 作业中包含 wp-load.php
- javascript - 如何一次定位多个数据属性
- python-3.x - 如何更新 Pyspark 中的嵌套字段值
- javascript - 在正则表达式中添加多个条件
- python - `Ctrl` + `Alt` + `L` 无法修复警告 PEP 8:E122 续行缺少缩进或缩进
- android - json arrary 无法使用模态类传递到 kotlin 数组