我有以下文件夹结构
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