如何在 Linux 上使用 'find' 展平目录树
你可以使用以下命令递归地将所有文件从子目录移动到当前目录。原始目录结构的信息将丢失,但由于 mv --backup=numbered,不同目录中同名的文件不会被覆盖:
flatten_directory_tree.sh
find . -type f -depth -exec mv {} --backup=numbered $(pwd) -v \;此命令执行以下操作:
find .- 从当前目录开始搜索-type f- 仅查找文件-depth- 从底部向上处理目录树,以便在父目录之前移动文件-exec- 对找到的每个文件执行后面的命令mv {}- 移动find找到的文件--backup=numbered- 为同名的文件创建编号备份$(pwd)- 指定目标目录(当前目录)-v- 启用详细输出,以便你可以看到正在移动哪些文件\;- 表示-exec命令的结束
Check out similar posts by category:
Linux
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow