
나는 이것을 가지고있다
/Folder1/108462-2.jpg
/Folder1/108462-3.jpg
/Folder1/BSR2333-1.jpg
/Folder1/BSR2333-2.jpg
/Folder1/DKS23108554-1.jpg
/Folder1/DKS23108554-2.jpg
나는 이것을 갖고 싶습니다 :
/108462/108462-2.jpg
/108462/108462-3.jpg
/BSR2333/BSR2333-1.jpg
/BSR2333/BSR2333-2.jpg
/DKS23108554/DKS23108554-1.jpg
/DKS23108554/DKS23108554-2.jpg
나는 이것을 보았다;
do if [[ -f "$file" ]]; then mkdir "${file:0:9}" mv "$file" "${file:0:9}"; fi; done
그런데 별로 안 그러는데...
하지만 "-"까지 전체 이름을 사용하여 폴더를 만들고 해당 폴더에 파일을 넣는 방법은 무엇입니까? 미리 감사드립니다. Mac 터미널에 아주 새로운 기능입니다.
답변1
설명에 따라 /Folder1
폴더의 파일 이름을 -
파일 이름까지 변경하려고 합니다.
이것은 다음과 같은 원시적인 예입니다.의미있는 변수 이름읽을 수 있는 코드의 경우.
#! /bin/bash
pathname=/Folder1/108462-2.jpg
newfolder="$(dirname "$pathname")"
newfolder="${newfolder/-.*$//}"
filenamepartofpathname="$(basename $pathname)"
newpathname="$newfolder/$filenamepartofpathname"
echo "$newpathname"
쉘체크출력이 생성되지 않습니다.
$ shellcheck primitive-example.sh
(no output)
$ ./primitive-example.sh
/108462/108462-2.jpg
파일에 둘 이상이 있으면 -
기본 예제를 조정해야 할 수도 있습니다.
"코드 골프"를 시도해 볼 수도 있습니다.https://codegolf.stackexchange.com/덜 원시적이지만 읽기 어렵게 만드는 데 도움을 받으려면