我正在尝试将一个文件复制到树形结构中所有最深的子目录中。想象一下它看起来像这样:
bar
dir1
| |
| +--dir2
| |
| +--dir3
| +--dir4
| |
| +--dir5
| +--dir6
| |
| +--dir7
我希望仅将“ bar”复制到最深的子目录,如下所示:
bar
dir1
| +--dir2
| |
| +--dir3
| |
| +-- bar
| +--dir4
| |
| +--dir5
| |
| +-- bar
| +--dir6
| |
| +--dir7
| |
| +-- bar
我不确定该如何处理,因为文件有时会出现在中间目录中,但是我找不到针对最深子目录的方法。
编辑:我试图解决这个问题。出于某种原因,这会不一致地复制到所有目录,而不仅仅是最深的目录。
find . -exec cp -r bar {} \; -type d -links 2
您可以使用:
find . -type d -links 2 -exec cp file {} \;
它将找到具有2个硬链接的目录,然后将文件复制到该特定目录。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句