Re: [vox-tech] Can't Remove File
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [vox-tech] Can't Remove File
On Tue, 28 Nov 2000, Jan Wynholds wrote:
[...]
> I tried an interesting little test...
>
> Say that hundreds of these files (-*) were created
> throughout a directory tree (my example lists only
> one, for brevity). I know that I would use find to
> identify , then delete them. I actually did this, and
> I tried to identify them with find. Find identified
> all the files, but when I tried to remove them with
> the -exec 'rm -- [filename]', I got an error message
> relating to: no such file or directory. (BTW, this is
> RHL 7.0 on i686)
>
> eg
>
> [root@localhost /] # find . -name '-*' -print
> ./home/user/-g
Note default prepending of starting path to matching file by the find
command... rm doesn't see '-g', it sees './home/user/-g', so -- is not
needed.
> [root@localhost /] # find . -name '-*' -exec 'rm --
> {}' \;
> find: ./home/user/-g: No such file or directory
> [root@localhost /] #
To see the source of the error, try this:
[root@localhost /] # 'rm -- ./home/user/-g'
which would be asking the shell to look for a rather oddly named
executable file containing spaces, dashes, and illegal slashes.
The correct invocation of find in this case is:
[root@localhost /] # find . -name '-*' -exec rm {} \;
> Can anyone give explain this behavior from find? I
> thought that this command would work. Maybe I am
> foolishly incompetant, or maybe not. Maybe find
> doesn't do something right. I am pretty sure that the
> command that I entered is syntactically correct (at
> least as far as the man page is concerned). This find
> command works for all other filenames, just not ones
> with a leading '-'. Is find the wrong approach to
> this sort of action? Is there another approach to
> this problem? If anyone can explain this, you would
> be my hero.
Hm... or will you just kick yourself? :)
Don't do that... Unix makes ever so much sense AFTER you understand it...
unfortunately, that doesn't help much before you do.
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnewmil@dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Work:<JeffN@endecon.com> Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...2k
---------------------------------------------------------------------------
|