'rm' Can not delete files

andrew clarke mail at ozzmosis.com
Thu Feb 9 03:53:31 UTC 2012


On Tue 2012-02-07 23:17:16 UTC+0000, RW (rwmaillists at googlemail.com) wrote:

> On Tue, 07 Feb 2012 22:14:56 +0000
> Matthew Seaman wrote:
> 
> > ls -1 | xargs rm
> 
> but be aware that that wont work for filenames with spaces.

In addition, I don't believe it solves the OP's initial problem of the
argument list being too long!  You'd probably need to use the xargs -n
switch here.

The above will also try to 'rm' directories, which won't work.

Instead I would use 'find':

find . -type f -depth 1 -delete

This will also work with filenames with spaces.

Or the scenic route, using xargs, with one rm per file (slower):

find . -type f -depth 1 -print0 | xargs -n1 -0 rm -f

(The "scenic route" is useful if you want to do something else with
the files instead of deleting them with rm.)

Regards
Andrew


More information about the freebsd-questions mailing list