public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Joshua Rosen <rozzin@geekspace.com>
To: cygwin@sourceware.cygnus.com
Subject: Re: How do I list subdirectories?
Date: Wed, 25 Aug 1999 09:26:00 -0000	[thread overview]
Message-ID: <37C41932.5EC121E0@geekspace.com> (raw)
In-Reply-To: <PDGENBLLHCGCCAAA@my-deja.com>

Clark Sims wrote:
> 
> Nice try but
> ls -F | egrep .*\/
> doesn't work.
> I agree that it ought to. I don't understand why it
> doesn't.

Because the asterisk is neither quoted nor escaped, so it's being
expanded by the shell before it's fed to grep.

Use any of:
	'.*/'
	".*/"
	.\*/

Note that the forward slash doesn't need to be escaped--it's not a
special regexp character.

> However Kim Poulsen found a command that does work:
> ls -F | egrep \/

And this works (with less typing;)), because (e|f|)grep finds an
equivilant substring -anywhere- in the string that you grep from. You
only need the ".*" if you use it like "^.*" ;)

> 
> It seems that this is a question on pattern matching.
> It seems to me that a directory which is mached by:
> \/
> should also be matched by
> *\/
... if we're using shell patterns (which the grep command isn't).
In the regexps that grep is using, it'd be appropriate for you to be
told that your regexp is invalid, because there aren't any characters
before the Kleen star.
Remember, too, that the "*/" isn't being fed to grep, too--all of the
file-names, ending in '/', joined together by spaces, are, and that's
not going to match.

look at the string output by:
	echo */

I am wondering why using a backslash anyware in a shell expression
escapes all of the asterisks, right now..., but that appears to be
something about bash, not Cygwin.

Oh--a fairly good description of standard regexps (and all sorts of
other things) can be found in the Free Online Dictionary of Computing:
http://foldoc.doc.ic.ac.uk/

		-Rozzin.
-- 
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GFA/CS/L/M/P/MU/O d(-) s:-- a? C++++$>$ UL P L+ E W+++ N-(!) o? K(--)
w(--)(---) O+++ M-- V? PS+++ PE Y+ PGP-(+++) t 5 X+ R* tv(+) b+ DI+
D---- G+++ e- h! r%--- y+
------END GEEK CODE BLOCK------
rozzin@geekspace.com -- http://i.am/rozzin

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

WARNING: multiple messages have this Message-ID
From: Joshua Rosen <rozzin@geekspace.com>
To: cygwin@sourceware.cygnus.com
Subject: Re: How do I list subdirectories?
Date: Tue, 31 Aug 1999 23:49:00 -0000	[thread overview]
Message-ID: <37C41932.5EC121E0@geekspace.com> (raw)
Message-ID: <19990831234900.-mumDKU28bA9qCgqHnTelGc7iDtPE3gMh4TKtzlb2S4@z> (raw)
In-Reply-To: <PDGENBLLHCGCCAAA@my-deja.com>

Clark Sims wrote:
> 
> Nice try but
> ls -F | egrep .*\/
> doesn't work.
> I agree that it ought to. I don't understand why it
> doesn't.

Because the asterisk is neither quoted nor escaped, so it's being
expanded by the shell before it's fed to grep.

Use any of:
	'.*/'
	".*/"
	.\*/

Note that the forward slash doesn't need to be escaped--it's not a
special regexp character.

> However Kim Poulsen found a command that does work:
> ls -F | egrep \/

And this works (with less typing;)), because (e|f|)grep finds an
equivilant substring -anywhere- in the string that you grep from. You
only need the ".*" if you use it like "^.*" ;)

> 
> It seems that this is a question on pattern matching.
> It seems to me that a directory which is mached by:
> \/
> should also be matched by
> *\/
... if we're using shell patterns (which the grep command isn't).
In the regexps that grep is using, it'd be appropriate for you to be
told that your regexp is invalid, because there aren't any characters
before the Kleen star.
Remember, too, that the "*/" isn't being fed to grep, too--all of the
file-names, ending in '/', joined together by spaces, are, and that's
not going to match.

look at the string output by:
	echo */

I am wondering why using a backslash anyware in a shell expression
escapes all of the asterisks, right now..., but that appears to be
something about bash, not Cygwin.

Oh--a fairly good description of standard regexps (and all sorts of
other things) can be found in the Free Online Dictionary of Computing:
http://foldoc.doc.ic.ac.uk/

		-Rozzin.
-- 
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GFA/CS/L/M/P/MU/O d(-) s:-- a? C++++$>$ UL P L+ E W+++ N-(!) o? K(--)
w(--)(---) O+++ M-- V? PS+++ PE Y+ PGP-(+++) t 5 X+ R* tv(+) b+ DI+
D---- G+++ e- h! r%--- y+
------END GEEK CODE BLOCK------
rozzin@geekspace.com -- http://i.am/rozzin

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

  parent reply	other threads:[~1999-08-25  9:26 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-08-25  6:10  Clark Sims 
1999-08-25  7:36 ` Keith Starsmeare
1999-08-31 23:49   ` Keith Starsmeare
1999-08-25  9:26 ` Joshua Rosen [this message]
1999-08-31 23:49   ` Joshua Rosen
1999-08-25 18:15 ` Ajit George
1999-08-26 12:25   ` Josh Baudhuin
1999-08-31 23:49     ` Josh Baudhuin
1999-08-31 23:49   ` Ajit George
1999-08-31 23:49 `  Clark Sims 
  -- strict thread matches above, loose matches on Subject: below --
1999-08-25 14:23 13mb80000-HallM(DR3132)37x10
1999-08-31 23:49 ` 13mb80000-HallM(DR3132)37x10
1999-08-25 13:41 13mb80000-HallM(DR3132)37x10
1999-08-31 23:49 ` 13mb80000-HallM(DR3132)37x10
1999-08-25 10:04 John Wiersba
1999-08-25 12:07 ` Joshua Rosen
1999-08-31 23:49   ` Joshua Rosen
1999-08-31 23:49 ` John Wiersba
1999-08-25  8:06 John Wiersba
1999-08-31 23:49 ` John Wiersba
1999-08-25  6:44 Earnie Boyd
1999-08-31 23:49 ` Earnie Boyd
1999-08-25  5:24 Earnie Boyd
1999-08-31 23:49 ` Earnie Boyd
1999-08-25  5:13  Clark Sims 
1999-08-25  5:20 ` Kim Poulsen
1999-08-31 23:49   ` Kim Poulsen
1999-08-31 23:49 `  Clark Sims 

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=37C41932.5EC121E0@geekspace.com \
    --to=rozzin@geekspace.com \
    --cc=cygwin@sourceware.cygnus.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).