【发布时间】:2016-11-02 13:48:27
【问题描述】:
我在/home/ziga/Mounted/ 中有两个子目录。每个都有多个非空子目录:
/home/ziga/Mounted/dir1/subdir1-1
/home/ziga/Mounted/dir1/subdir1-2
...
/home/ziga/Mounted/dir2/subdir2-1
/home/ziga/Mounted/dir2/subdir2-2
...
有什么方法可以使用find 在/home/ziga/CombinedMounts 中创建空 目录,该目录的名称与/home/ziga/Mounted/ 内部的两个级别的目录完全相同?这是我正在寻找的最终结果:
/home/ziga/CombinedMounts/subdir1-1
/home/ziga/CombinedMounts/subdir1-2
/home/ziga/CombinedMounts/subdir2-1
/home/ziga/CombinedMounts/subdir2-2
...
我可以使用这个命令获取目录列表:
find /home/ziga/Mounted/ -maxdepth 2 -mindepth 2 -type d ! -name "lost+found" ! -name ".Trash*" -exec basename {} \;
但我终其一生都无法弄清楚如何在mkdir -p 中使用它的输出,以便获得所需的子目录。
不知何故,他们总是以/home/ziga/CombinedMounts/home/ziga/Mounted/...结尾
我疯了,请帮忙。 :)
注意:部分目录名包含空格!
【问题讨论】:
-
能否将结果设置为数组元素?喜欢
DIRS=(`<your find statment>`)。然后使用for dir in $DIRS制作每个目录。 -
如果目录名中有空格,会起作用吗?
-
哦,也许不是。我不是 bash 专家,只是在这里吐口水。