On Tue, 14 Feb 2006, Michael Schmidt wrote:

> Matthias Kilian wrote:
> 
> > And watch out for silly file names containing whitespace.
> > 
> > BTW: if this is a contest on creative use of find(1) and other
> > standard tools:
> > 
> > $ find . -type f | sed '[EMAIL PROTECTED]@grep -l -- foo @' | sh
> > 
> > Yes, this isn't robust against whitespace, either PLUS it's
> > inefficient. But in some cases the find ... | sed ... | sh pattern
> > is quite useful.
> >  
> 
> Sometime ago I have had the same problem with spaces in filenames and dealing
> with them as xargs parameters. There I have used (here only as an example):
> 
> find . -print | grep -i ' ' | xargs -I {} ls -ald {}
> 
> FYI, that has been on a non-OpenBSD system.
> I4m not at my OpenBSD system at the moment, so I can4t check whether OpenBSD
> xargs supports the shown options. Maybe someone may test it.
> 
> One may check this at a directory with space-containing filenames.
> Without the "-I {}" and "{}" parts you get funny output.
> 

Well, -print0 in find and xargs -0 are designed to deal with that.
Sadly these are not in POSIX (which is not documented correctly in the
xargs case).

        -Otto

Reply via email to