Linux

變換目錄結構

  • August 22, 2012

我有以下文件夾結構

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

我怎樣才能自動化呢?

更新:文件夾名稱不遵循任何類型的系統。它們是隨機字元串。

這是一個簡單的 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

引用自:https://unix.stackexchange.com/questions/46073