bash script 에서 한글 파일을 변수로 받고 싶습니다.
글쓴이: divi / 작성시간: 월, 2015/04/06 - 5:44오전
디렉토리에 한글 파일들이 있고요 이 파일들을 변수로 받고 싶습니다.
for line in $( ls ./a ); do
echo "$line"
done
이런 식으로 작성하니 한글의 공백마다 변수로 받아서, 한글 리스트를 만들어서 while read로 읽으려고 하니 공백에 역슬래쉬가 추가되지 않아 쉘에서 파일을 읽을 수 없습니다.
어떤식으로 한글 파일을 처리해야 할까요?
아래는 한글 리스트입니다.
130516 선문대 산업.mov
130517 한양대 건축.avi
130518 중앙대 컴공.flv
130519 호서대 체육.mp4
감사합니다.
Forums:
잘 아시는 바와 같이 파일 이름에 공백이 있는 것이
잘 아시는 바와 같이 파일 이름에 공백이 있는 것이 문제이지,
파일 이름이 한글인 것이 문제는 아닌 상황이네요.
bash for loop filename spaces 정도로 구글링해보니 많이 나오네요.
예를 들어 이런거요.
http://www.cyberciti.biz/tips/handling-filenames-with-spaces-in-bash.html
알려주신대로 아래 예제를 적용하니 어렵지 않게 구현할 수 있습니다.
#!/bin/bash
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
# set me
FILES=/data/*
for f in $FILES
do
echo "$f"
done
# restore $IFS
IFS=$SAVEIFS
감사합니다. 덕분에 많은 시간을 줄일 수 있게됐습니다. ^^
IT를 강하게 하는 프레임워크 Cobit 4.1
음 ..
파일이나 디렉토리에 접근하는 경우에는 ls 보다는 그냥 와일드 카드가 편할 때가 있죠.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
댓글 달기