여러 파일을 새 폴더로 이동하는 방법

여러 파일을 새 폴더로 이동하는 방법

폴더에 파일 목록이 있습니다.

./file1.ext
./file2.ext2
./file3.ext

이 모든 파일과 관련 이름을 각각의 새 폴더로 이동하고 싶습니다. 예를 들면 다음과 같습니다.

./file1/file1.ext
./file2/file2.ext2
./file3/file3.ext

아주 적은 수의 명령으로 이를 수행할 수 있는 방법이 있습니까?

답변1

루프를 사용하여 이 작업을 수행할 수 있습니다.

for f in *; do
    [ ! -d "${f%.*}" ] && mkdir "${f%.*}/"
    mv "$f" "${f%.*}/"
done

그러면 현재 디렉터리의 모든 항목이 생성되고 이동됩니다.

${f%.*}꼬리 확장을 사용하십시오. 또한 file1.extfile1.ext1.

이 스크립트 가 있으면 file1다음보다 오래된 스크립트에서는 작동하지 않습니다.file1

관련 정보