디렉토리를 이동하고 파일의 이름을 바꾸는 스크립트를 작성하려고합니다. 파일 이름과 확장자를 따로 따로 추출 할 수 있기를 원하지만 파일 경로에 ÅÄÖ와 같은 공백이나 스웨덴어 UTF8 문자가 포함되어 있으면 문제가됩니다.bash에서 UTF 문자로 작업하기
그래서 여기에 파일 이름 + 확장명을 추출하기위한 스 니펫이 있지만 UTF-chars 또는 공백이없는 경로에서 작동하는 것을보고 있으므로 올바르게 탈출하지 못한다고 생각하고 있습니다. 변수.
아마도 내가 잘못하고 있습니다. UTF8 문자 및 공백 문자가있는 경로로이 작업을 수행하기 위해 수행 할 수있는 작업에 대한 아이디어가 있습니까?
for file in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
FULLPATH="$file"
FILENAME=${FULLPATH##*/}
FILEEXTENSION=${FILENAME##*.}
BASEDIRECTORY=${FULLPATH%$FILENAME}
#Log the vars for debugging
echo "$FULLPATH" >> ~/Desktop/log.txt
echo "$FILENAME" >> ~/Desktop/log.txt
echo "$FILEEXTENSION" >> ~/Desktop/log.txt
echo "$BASEDIRECTORY" >> ~/Desktop/log.txt
done
코드 조각은 괜찮지 만, 방법'$ NAUTILUS_SCRIPT_SELECTED_FILE_PATHS'가 여러 경로를 포함 할 수는 없다, 그들 중 일부는 인용했다. 이 변수를 피할 수있는 방법이 있습니까? – tripleee
... 음, 물론 불가능하지는 않지만, 물론 문제의 원인 일 가능성이 큽니다. – tripleee