文件夹 中有很多文件夹A
。我想将文件从所有这些文件夹移动到A
。
或者
我想从子文件夹中剪切所有文件并将其粘贴到父文件夹中。
怎么做?
答案1
转到你的A
目录并运行
find . -mindepth 2 -type f -print -exec mv {} . \;
意思是“找到此目录及其子目录中的所有文件,并对目标目录执行 mv 。对找到的每个文件执行移动操作,将其移动到当前目录。
答案2
那么您可以创建一个文件并将其命名为“cutme”(要在终端类型中创建一个名为cutme的文件nano cutme
,请按CTRL + X,然后按ENTER。)例如,并在其中粘贴以下内容,假设:
- 您想以递归方式执行此操作(在子文件夹以及这些子文件夹的子文件夹中)
- 您想跳过移动脚本文件
- 您有权限移动该文件夹中的文件
- 文件名称中可能包含或不包含空格
find * -type f -print -not -type d -and -not -regex 'cutme' -exec mv {} .. \;
注意名称卡梅在行内。它应该与您将运行的脚本相同。
创建文件并粘贴上述行后,在与脚本相同的文件夹中运行以下命令:
chmod +x cutme
。这将为您的新文件赋予“可执行”标志,以便您可以像这样执行它:./cutme
。