On Wed, Oct 30, 2013 at 12:58:54PM +0100, Andreas Schwab wrote: > Greg Wooledge <wool...@eeg.ccf.org> writes: > > > On Wed, Oct 30, 2013 at 08:01:02AM +0000, Peggy Russell wrote: > >> A variation: > >> > >> shopt -s nullglob > >> for f in ${1:-.}/*; do > >> if [[ "${f}" != *-IGN-* ]]; > >> then printf -- '%s\n' "${f}" > >> fi > >> done > > > > You missed one set of quotes: > > > > for f in "${1:-.}"/*; do > > That still won't handle whitespace in file names. Probably better to > use find instead.
Yes it will. The glob is completely reliable. imadev:/tmp/greg$ set -- 'dir with spaces' imadev:/tmp/greg$ for f in "${1:-.}"/*; do printf '%s\n' "$f"; done dir with spaces/1 dir with spaces/2 dir with spaces/file 3 spaces