디렉토리 구조 변환

디렉토리 구조 변환

다음과 같은 폴더 구조가 있습니다

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

관련 정보