Excluding a list of files from tar with spaces in filenames
Dotan Cohen
dotancohen at gmail.com
Thu Feb 4 22:29:17 IST 2010
On 4 February 2010 21:48, Baruch Siach <baruch at tkos.co.il> wrote:
> Hi Dotan,
>
> On Thu, Feb 04, 2010 at 09:12:54PM +0200, Dotan Cohen wrote:
>> I hope there is a bash guru out there today. I need to script a backup
>> plan which has a list of directories that should not be backed up.
>> Some of these directories have spaces in their filenames. The
>> following script works so long as there are no directories with spaces
>> in DONT_COPY, however, I cannot figure out what to do to get it to
>> work _with_ spaces in filenames:
>>
>> #!/bin/bash
>>
>> DONT_COPY="
>> .adobe/
>> File with Spaces
>> .bin/google-earth
>> Yet Another Annoying Filename
>> "
>>
>> DONT_COPY_LIST=""
>> for pattern in $DONT_COPY ; do DONT_COPY_LIST="$DONT_COPY_LIST
>> --exclude=$pattern "; done
>> tar -zcvf - * $DONT_COPY_LIST
>>
>>
>> Any ideas? Thanks!
>
> How about:
>
> rm -f /tmp/excludes
> for pattern in $DONT_COPY ; do echo ${DONT_COPY} >> /tmp/excludes; done
> tar -X /tmp/excludes -zcvf - *
>
> Note that this won't archive files with spaces in their file names.
>
> baruch
>
Actually, it _does_ archive files with spaces in their file names. It
won't exclude files with spaces in their filenames. Which is exactly
what I am trying to do!
--
Dotan Cohen
http://what-is-what.com
http://gibberish.co.il
Please CC me if you want to be sure that I read your message. I do not
read all list mail.
More information about the Linux-il
mailing list