如何将文件夹中的每个文件移动并重命名到顶级文件夹? [linux shell] [bash]

How to move and rename each file in folder to top folder? [linux shell] [bash]

我正在尝试在 linux shell 中创建一个简单的脚本, 在文件夹 X 中遍历每个文件夹,重命名文件在那里找到,并将它们移动到根(folderX)文件夹.... 我猜逻辑有点像这样:

-0> //in folderX
-0>for each folder == $folderY //just the last part, what comes after ~/folderX/[this]
    -1> cd ./$folderY
    -1> for each fileInY == $fileInY //just the last part, what comes after ~/folderX/folderY/[this.something]
        -2> rename fileInY = "$folderY - $fileInY"
    -1> move * to folderX
    -1> cd..

(但欢迎提出建议和不同的方法)

提前致谢! -Gabix

folder="folderX"
find "$folder" -type f -exec cp '{}' '{}'.bak \; -exec mv '{}'.bak "$folder" \;

将根 folder/directory 设置在一个变量文件夹中,然后使用它 运行 查找并执行。在目录结构中查找文件先将文件名复制到文件名后跟“.bak”然后将文件从目录移动到根目录folder/directory