转换目录结构

转换目录结构

我有以下文件夹结构

root folder
 |-al2
   |- GER.zip
   |- ENG.zip
 |-ww
   |- GER.zip
   |- ENG.zip

等等。文件夹名称是随机字符串。

我想按以下方式对文件进行排序:

root folder
 |-ENG
   |-al2
     |- ENG.zip
   |-ww
     |- ENG.zip
 |-GER
   |-al2
     |- GER.zip
   |-ww
     |- GER.zip

我怎样才能自动化这个?

更新:文件夹名称不遵循任何类型的系统。它们是随机字符串。

答案1

这是一个简单的 bash 脚本:

#!/bin/bash
for file in ./*/* ; do
    lang=${file%.zip}            # Remove the extension.
    lang=${lang#./*/}            # Remove the folder.
    mkdir -p "$lang/${file%/*}"  # Create the target folders.
    mv "$file" "$lang/$file"
done

相关内容