Mail Archives: cygwin/2004/06/03/17:46:39
I've always had problems getting the correct number of backslashes. Try
quotes. For example, change sed to
sed -e 's/^.*$/"&"/'
to give
"path/file"
If that doesn't work, try doubling them
sed -e 's/^.*$/"&"/' -e "s/^.*$/'&'/"
to give
'"path/file"'
You might need to change which quotes are on the inside/outside.
If that isn't enough protection, feed the quoted file names into a file and
then use
... `cat file`
Alternatively, you could check the tar documentation to see if it can take
the file list from a file or standard input. Or it might even be able to do
the date selection for you instead of using find -- that should avoid
quoting problems.
-----Original Message-----
From: Will Senn
Sent: Thursday, June 03, 2004 5:04 PM
To: cygwin AT cygwin DOT com
Subject: Problem with spaces embedded in filenames
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
I am doing backups with tar on XP. I thought that I could touch a file
when I did a full backup and then use find with newer to only back up
files that are newer than the touched file:
~ touch /cygdrive/i/backups/full_backup
~ find /cygdrive/d/sandbox -newer /cygdrive/i/backups/full_backup !
~ -type d -print | sed -e "s/\ /\\\\ /g"`
this command produces the following list of files:
~ /cygdrive/d/sandbox/another\ test.txt
~ /cygdrive/d/sandbox/test.txt
'another test.txt' is a file with an embedded space (I figured I
needed to escape the space, hence the sed)
The problem is this, when I use the output of this command as the
input of another it complains. ie.
~ $ ls -l `find /cygdrive/d/sandbox -newer
~ /cygdrive/i/backups/_sandbox.full ! -type d -print | sed -e "s/\
~ /\\\\ /g"`
~ ls: /cygdrive/d/sandbox/another: No such file or directory
~ -rwx------+ 1 wsenn None 0 Jun 3 14:45
~ /cygdrive/d/sandbox/test.txt
~ -rw-r--r-- 1 wsenn None 69 Jun 3 15:26 test.txt
Any help would be appreciated. Here's the tar command I planned on using:
~ tar czf /cygdrive/i/${TODAY}_I_sandbox.tgz `find
~ /cygdrive/d/sandbox -newer /cygdrive/i/backups/full_backup ! -type
~ d -print | sed -e s/\ /\\\\\ /g`
Later,
Will
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFAv5IjBvT4ZqqGK0sRAqHTAJ9Jq0U+GX0EtEU8lM8vUkv4xwbMUQCdFvtU
n2DkKcAkUkMrtDPOJzuwgOQ=
=4iEV
-----END PGP SIGNATURE-----
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -