[Mailman-Users] BIG discard problem

David Relson relson at osagesoftware.com
Thu Aug 12 03:44:56 CEST 2004


On Thu, 12 Aug 2004 02:03:21 +0200
Brad Knowles wrote:

> At 6:47 PM -0400 2004-08-11, David Relson wrote:
> 
> >  In this case, you're mistaken.  The double quotes work fine for
> >  this purpose (though the '-w' should be removed).
> 
> 	If it's in double quotes, the shell will still try to interpret 
> the wildcard.  If you want to protect it from that, you need to put 
> it in single quotes, or put a backslash in front of the asterisk -- 
> even though it's within the double quotes.

Hi Brad,

OK, the quoting behavior is shell dependent.  I use bash and it does
what's needed.  Here's some further examples/evidence:

[relson at osage relson]$ ls sy.*k
ls: sy.*k: No such file or directory

### 1. show files matching sy*k ###

[relson at osage relson]$ ls sy*k
sylpheed.log.bak  sylpheedrc.bak

### 2. use same pattern in echo command with double quotes ###

[relson at osage relson]$ echo "sy*k"
sy*k

--- shell displays pattern, not filenames ---
 
> 	The exact behaviour will differ depending on which shell you're 
> using, but all shells I know of, from Bourne shell under BSD Unix 2.9 
> running on a PDP 11/70 in 1984 up through tcsh, bash, ksh, and other 
> more advanced shells running on more modern machines, will all try to 
> interpret what they think is a wildcard unless it is properly escaped 
> -- either through quoting or application of preceding backslash 
> characters.
> 
> >  The egrep command is intended for scanning mailman's source code
> >  with the goal of finding the relevant html (or html generator) in
> >  order to determine the cgi parameters for discarding deferred
> >  items.
> 
> 	Then this needs to be done in a specific subdirectory tree which
> 	
> would include Python source code and not other general data files, 
> such as $MAILMAN_HOME/Mailman or $MAILMAN_HOME/bin, because otherwise 
> you still run into the possibility of trying to throw 20,000+ files 
> at it.

No!  Recursive grep commands include a directory specification, hence
don't need to be executed from a specific subdirectory.  My "egrep -r
... /usr/lib/mailman" command searches mailman's source tree.

Question:  What shell are you using?  Have you tried executing my
command?

Regards,

David



More information about the Mailman-Users mailing list