假设我有一个包含以下内容的目录:
dir1/
dir2/
dir3/
...
dir50/
dir1.txt
dir2.txt
dir3.txt
...
dir50.txt
我一直在使用 mv dir* /someotherpath/,然后将 *.txt 文件移回。有没有办法只移动目录?
答案1
如果您的目录结构只有 1 级深度,mv dir*/ destination
则可以完成此任务。
答案2
您还可以使用find
来完成此任务
find . -maxdepth 1 -type d -name "dir*" -exec mv '{}' destination/ \;
maxdepth
如果目录结构有更多级别,请更改参数或将其删除
答案3
文件结构如下:
/dir2move2
/dir
/subdir1
/subdir2
index.js
如果只移动子目录而不移动文件,你可以这样做:
mv ./dir/*/ ./dir2move2