이것은 초보자 질문입니다. .sh 파일을 작성하여 디렉토리의 파일 이름을 자동으로 바꾸려고합니다.
파일은 다음과 같습니다.
for fileName in directory
do
mv fileName "NewPrefix"+fileName
done
for fileName in directory
파트 를 작성하는 방법을 알아 내려고합니다 .
다음을 시도했습니다.
dir = '.'
for fileName in dir
이것은 작동하지만이 스크립트를 실행할 때마다 dir: cannot access =: No such file or directory.
왜?
코드에 몇 가지 문제가 있습니다.
$VAR
는주의 $
앞에. 달러 기호를 생략하면 일반 문자열처럼 처리됩니다.*
, ?
등). 의 예 는 현재 폴더 인 .
폴더와 일치 .
합니다.VAR=VALUE
. 등호 주위에는 공백이 없습니다. VALUE
공백이 있으면 따옴표로 묶어야합니다.+
기호는 문자 그대로 삽입 +
하는 위치에 있습니다.이러한 점을 염두에두고 여기에 스크립트의 작동 버전이 있습니다.
cd /path/to/folder
for file in ./*
do
mv "$file" "NewPrefix$file"
done
조건이 다음과 같이 사용되는 경우 :
if [[ "$file" == "New"* ]]
then
# Do something here
fi
별표는 큰 따옴표 밖에 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다