디렉토리에서 파일을 반복적으로 반복하는 것은 다음과 같이 쉽게 수행 할 수 있습니다.
find . -type f -exec bar {} \;
그러나 많은 조건부 분기, 반복 등을 수행 해야하는보다 복잡한 작업에는 위의 내용이 작동하지 않습니다. 나는 이것을 위의 용도로 사용했다.
while read line; do [...]; done < <(find . -type f)
그러나 문자가 모호한 파일에는 다음과 같이 작동하지 않는 것 같습니다.
$ touch $'a\nb'
$ find . -type f
./a?b
모호한 문자를 잘 처리하는 대안이 있습니까?
read line
에를 IFS= read -r line
. 그것을 깨뜨릴 유일한 문자는 개행입니다.
-d $'\0'
바람직한 이유 입니다.
find ... -exec bash -c 'echo filename is in \$0: "$0"' {} \;
더 좋은 방법입니다.