On Sun, Feb 26, 2006 at 04:29:04PM -0600, Jordan Peacock wrote:
> > find . -name '*.tar' -exec tar xvf {} \;
>
> Just curious if I'm reading this right though. I've looked through the
> find man page, and nowhere did I see this '.' What is the period's
> significance with this operation? and why does it close {}\; ?
The current directory is always known as '.'. That's why it's not in
the man page for find - it's used everywhere. For example:
$ cd
$ cp /etc/passwd .
This will copy the passwd file to your current (home) directory.
The {} is the current file in the find.
The result of -exec needs to be terminated with a semicolon, but the
semicolon on a command line in bash is normally used to denote the next
command on the line. It's therefore escaped with the backslash.
Cheers,
.../Ed
--
Ed Wilts, RHCE
Mounds View, MN, USA
mailto:ewilts at ewilts.org
Member #1, Red Hat Community Ambassador Program