Linux2011. 7. 21. 21:25
http://stackoverflow.com/questions/301039/how-to-escape-white-space-in-bash-loop-list
#!/bin/bash
files=`find . -type f -iname "*.txt"`
for file in $files
do
        echo $file
        # do sth.
done
위의 스크립트를 쓸 때, 파일 이름에 white space가 있으면 짜증나는 상황이 발생한다. 처리하는 일이 간단하면, find에 -exec 옵션을 줘도 되고, xargs를 써도 된다. 처리할 것이 많으면 난감하다. 이 경우에는 다음과 같이 하면 된다.
#!/bin/bash
find . -type f -iname "*.txt" | while read file
do
        echo $file
        # do sth.
done
Posted by asdfzxcv