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