Fwd: Help: tar & find

Matthew Seaman m.seaman at infracaninophile.co.uk
Thu Oct 23 04:39:04 PDT 2003


On Thu, Oct 23, 2003 at 12:34:40PM +0100, Matthew Seaman wrote:
> On Wed, Oct 22, 2003 at 10:43:50PM -0600, Scott Gerhardt wrote:
> > 
> > I am having trouble combining the tar and find command.  I want to tar 
> > and
> > delete all .bak,.Bak,.BAK files.
> > 
> > I am using the following command but keep receiving errors.  The tar 
> > command
> > appears to be receiving a truncated file/path (some of the time, but not
> > always), and trying to procecss the file as two files.
> > 
> > Any help on this would be great.
> > 
> > The script is as follows
> > =========================================
> > #! /bin/bash
> > set +x
> > TAR_DIR=/home/tarbackups;
> > FILES_DIR=/home/common;
> > tar --remove-files -cvzpf $TAR_DIR/bak_files_`date +%F`.tar.gz\
> >   `find $FILES_DIR -xdev -type f -iname "*.bak"`;
> > ==========================================
> > The -xdev is to not desend into an external smb-mounted drive to a
> > subdirectory.
> > 
> > I have also tried substituting single quotes for the double quotes 
> > around the
> > *.bak
> > 
> > Here is some error output returned:
> > 
> > tar: jobs/ROOF: Cannot stat: No such file or directory
> > tar: LAYOUTS/RESIDENTIAL/FRASER/219: Cannot stat: No such file or 
> > directory
> > tar: LEWIS: Cannot stat: No such file or directory
> > tar: CRES.bak: Cannot stat: No such file or directory
> > tar: /home/technical/nfsapc30-my_documents/1999: Cannot stat: No such 
> > file or
> > directory
> > tar: jobs/ROOF: Cannot stat: No such file or directory
> > tar: LAYOUTS/RESIDENTIAL/FRASER/THODE: Cannot stat: No such file or 
> > directory
> > tar: RES.bak: Cannot stat: No such file or directory
> 
> The problem is that you have file/directory names like 'ROOF LAYOUTS'
> which contain spaces and possibly other filenames containing
> characters with syntactic significance to the shell.
> 
> Try:
> 
>     find $FILES_DIR -xdev -type f -iname "*.bak -print0 | \
>         xargs -0 tar --remove-files -cvzpf $TAR_DIR/bak_files_`date +%F`.tar.gz

Let's try that again, and fix the typo:

     find $FILES_DIR -xdev -type f -iname "*.bak" -print0 | \
         xargs -0 tar --remove-files -cvzpf $TAR_DIR/bak_files_`date +%F`.tar.g

	Cheers,

	Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.                       26 The Paddocks
                                                      Savill Way
PGP: http://www.infracaninophile.co.uk/pgpkey         Marlow
Tel: +44 1628 476614                                  Bucks., SL7 1TH UK
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20031023/542ee62f/attachment.bin


More information about the freebsd-questions mailing list