On Tue, 11 Jan 2011 22:02:48 -0500
Doug <dmcgarr...@optonline.net> wrote:

> On 01/11/2011 08:46 PM, Robert Blair Mason Jr. wrote:
> > On Tue, 11 Jan 2011 14:53:33 -0700
> > Bob Proulx<b...@proulx.com>  wrote:
> >
> >> Robert Blair Mason Jr. wrote:
> >>> Rob Owens<row...@ptd.net>  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
> 

Well, to be technical, almost all characters *ARE* ascii.  Just not the 
alphanumeric subset.

The underscore is often included in the set of 'ascii characters'.  The C 
Programming Language strikes again!  Generally, what is meant by 
non-ascii-character is any character which might have a special meaning to the 
users shell.

Usually, however, when you see a question mark and/or equals signs in URLs, 
they're generally special characters showing that whatever CGI scripting engine 
the site is running (usually one of the 3Ps: Perl Python PHP) should pass these 
variables as 'arguments' to the page.  So they're not part of the file on the 
actual server hard disk, just the URL.

A practical example:  Googling 'question mark in URL' returns (to me, i'm 
feeling lucky) http://www.abestweb.com/forums/showthread.php?t=55417 .  Which 
shows us this:
 - Protocol HTTP, site www.abestweb.com
 - File /forums/showthread.php
 - Pass paramater t=5547 to showthread.php

This way, the site doesn't need to make a separate html file to show each 
thread; it can have a single php file that takes the thread id (t) as a 
variable when you request it, and then look up this thread's postings in the 
database and generate HTML from that.  Much more efficient.

If you request just showthread.php, you get a valid web page back, but the site 
says that you did not specify a thread.  Handling threads with a script is also 
much more efficient because it fails much more graciously when you don't 
specify a thread or the thread is non-existent (a notice box detailing the 
issue instead of a page not found).

Hope this helps.

-- 
rbmj


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110112075229.42352...@blair-laptop.mason

Reply via email to