파일 이름 부분을 기준으로 파일을 하위 폴더로 정렬하는 방법은 무엇입니까?

파일 이름 부분을 기준으로 파일을 하위 폴더로 정렬하는 방법은 무엇입니까?

디렉토리에 있는 파일은 다음과 같습니다.

Ford-Mustang-001.jpg
Ford-Mustang-002.jpg
Ford-Mustang-003.jpg

Chevy-Impala-001.jpg
Chevy-Impala-002.jpg
Chevy-Impala-003.jpg

하위 폴더로 정렬하고 싶습니다.

/Mustang
/Impala

답변1

분명한 답변:

디렉토리를 생성하고 그 안에 파일을 넣기만 하면 됩니다.

mkdir Mustang Impala
mv *Mustang*.jpg Mustang/
mv *Impala*.jpg Impala/

이것은 ... 불리운다파일 글로빙;쉘 함수입니다.


파일 수가 많고 이를 보관하기 위해 다양한 디렉터리를 만들어야 하는 경우 다음을 시도해 보세요.Qiao Qiao의 답변.

답변2

이름 사용(perl renamer)

prename 'if(/(.+?)-(.+?)-(.*)/){mkdir $2; $_="$2/$_"}' *.jpg

답변3

awk {split $0, a, "-"; mkdir a[1]; mv $0 a[1]/}이름을 바꾸려면 awk를 사용하여 파일 이름을 분할하고, mv 프로그램을 사용하면 됩니다.

관련 정보