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
pgp00000.pgp
Description: PGP signature