약 150개의 텍스트 파일이 포함된 폴더가 있습니다. 150개의 파일 이름으로 폴더를 만들고 싶습니다. 그런 다음 텍스트 파일을 해당 폴더로 이동하고 싶습니다.
myfolder 디렉터리의 파일 이름 예:
~/myfolder/
|______ ajhaslf.txt
|______ oiueed.txt
|______ dsflije.txt
나는 새로운 구조를 다음과 같이 만들고 싶습니다.
~/myfolder/
|______ ajhaslf
|____ajhaslf.txt
|______ oiueed
|____oiueed.txt
|______ dsflije
|____dsflije.txt
물론, 파일 이름으로 디렉토리를 생성하는 것은 나에게는 문제가 되지 않습니다 mkdir
.
답변1
@gniourf_gniourf올바른 생각을 가지세요:
set -o errexit -o nounset
cd ~/myfolder
for file in *.txt
do
dir="${file%.txt}"
mkdir -- "$dir"
mv -- "$file" "$dir"
done
이는 POSIX와 호환되어야 합니다. 이것은아니요요각. 그럴 것이다아니요something.txt
이는 및 이름이 두 개의 파일이 있는 경우에 작동합니다 something.txt.txt
.