In <20100924141439.gn15...@wasteland.homelinux.net>, Jochen Schulz wrote: >Enrico Weigelt: >> do_rm() { >> while read FILE ; do rm -fr $FILE ; done >> } > >That won't work with spaces in filenames. :) "find … -exec" or "find … >-print0 | xargs -0" are the best ways to do this. Apart from "find … >-delete" which I regularly forget. :)
Actually, that *will* work with spaces in the filenames[1], since the shell built-in read doesn't stop until end of line. There are some other, even less common, characters that can confuse read though: '\', '"', and NL. [1] At least with single space characters. Read might be sensitive to IFS/OFS and merge runs of characters or translate all whitespace to space characters; I'm not looking at the spec right now. -- Boyd Stephen Smith Jr. ,= ,-_-. =. b...@iguanasuicide.net ((_/)o o(\_)) ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-' http://iguanasuicide.net/ \_/
signature.asc
Description: This is a digitally signed message part.