我正在努力将目录中的内容放入其父目录,所有这些都在另一个目录中工作。如果每个目录都是一个图层,我试图将内容从第三层复制到第二层,然后删除第三层。到目前为止,我有:
for d in "$layer1"/*; do
temp=$(removespaces "$d")
layer2=$(removeExtension "$temp")
cp -r "$d" "$layer2"
rm -r "$d"
for dir in "$layer2"/*; do
cp "$dir" "$layer2"
rmdir "$dir" #This is the third layer(directory)
done
done
第一个for循环的开头只是用我之前声明的一些函数重命名目录,没有问题。
如何在第二层复制第三层的内容?
答案 0 :(得分:1)
最后cp
需要复制单个文件,而不是整个目录。
cp "$dir"/* "$layer2"
但是你可以更简单地使用mv
完成这一切,并在路径名中使用两个通配符来获得第3级。
for d in "$layer1"/*; do
temp=$(removespaces "$d")
layer2=$(removeExtension "$temp")
mkdir -p "$layer2"
mv "$d"/*/* "$layer2"
rmdir "$d"
done