Re: piping find to zip -- with spaces in path



On 01/11/2011 08:46 PM, Robert Blair Mason Jr. wrote:
On Tue, 11 Jan 2011 14:53:33 -0700
Bob Proulx<bob@xxxxxxxxxx> wrote:

Robert Blair Mason Jr. wrote:
Rob Owens<rowens@xxxxxxx> wrote:
I tried this and it successfully creates myfile.zip:

find ./ -iname "*.jpg" -print | zip myfile -@

But it fails if there are spaces in the path or filename. How can I
make it work with spaces?
I think the best way would be to quote them in the pipe:

find ./ -iname "*.jpg" -printf "'%p'\n" | zip myfile -@
But that fails when the filename contains a quote character.

John's Important File

Using zero terminated strings (zstrings) are best for handling
arbitrary data in filenames.

Real Unix(TM) users never put [^[:ascii:]] characters in file names.

Bob
True. Underscores are _wonderful_ things. But remember, Linux is Not Unix!

Unfortunately for the OP, i don't *think* zip accepts zstrings. Perhaps a script to just remove all of the non-ascii characters in the filename of all files in the current directory?

Random tangent, but pascal strings are often more efficient from a programming standpoint than c-style strings...

I didn't prune anything because I can't figure out where to do it without losing any semblance of coherence, but anyway:
The comment about real Unixers not using ascii characters: what about urls? They come from the Unix world, and are
full of underscores and question marks and equal signs. Then there are emails, all of which require the @ sign. Not
complaining, just asking.

--doug

--
Blessed are the peacemakers...for they shall be shot at from both sides. --A. M. Greeley


--
To UNSUBSCRIBE, email to debian-user-REQUEST@xxxxxxxxxxxxxxxx with a subject of "unsubscribe". Trouble? Contact listmaster@xxxxxxxxxxxxxxxx
Archive: http://lists.debian.org/4D2D19D8.3020807@xxxxxxxxxxxxx



Relevant Pages

  • Re: Strange directory in home
    ... characters or A SPACE.. ... would find it,and any filename that was 1 character, including a space ... Registered Linux user # 367800 ... To UNSUBSCRIBE, email to debian-user-REQUEST@xxxxxxxxxxxxxxxx ...
    (Debian-User)
  • Re: Rogue Filename - Cant Do A Thing With It
    ... What did work was that fsck detected illegal characters in the filename, ... However, when fsck restored the filename, it had most of what I think was ... To UNSUBSCRIBE, email to debian-user-REQUEST@xxxxxxxxxxxxxxxx ...
    (Debian-User)
  • Re: [maybe OT] unicode control characters in filenames
    ... This definitely needs more than a cursory view into perl - ... to be sure you know what characters are in the filename, ... To UNSUBSCRIBE, email to debian-user-REQUEST@xxxxxxxxxxxxxxxx ...
    (Debian-User)
  • Re: piping find to zip -- with spaces in path
    ... Rob Owens wrote: ... But it fails if there are spaces in the path or filename. ... To UNSUBSCRIBE, email to debian-user-REQUEST@xxxxxxxxxxxxxxxx ...
    (Debian-User)
  • Re: piping find to zip -- with spaces in path
    ... Rob Owens wrote: ... But it fails if there are spaces in the path or filename. ... To UNSUBSCRIBE, email to debian-user-REQUEST@xxxxxxxxxxxxxxxx ...
    (Debian-User)