Unix Technical Forum

grep for a "`g'"? (gives an "Unmatched `" err)

This is a discussion on grep for a "`g'"? (gives an "Unmatched `" err) within the comp.unix.solaris forums, part of the Solaris Operating System category; --> SUBJECT: How to grep for a "`g'"? (gives an "Unmatched `" err) You know how many documents do, uh, ...


Go Back   Unix Technical Forum > Unix Operating Systems > Solaris Operating System > comp.unix.solaris

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 01-12-2008, 05:57 AM
David Combs
 
Posts: n/a
Default grep for a "`g'"? (gives an "Unmatched `" err)

SUBJECT: How to grep for a "`g'"? (gives an "Unmatched `" err)


You know how many documents do, uh, "2nd-level:" quoting around
words or phrases by using *single* quotes, but not like this:"

'a single-quoted phrase'

but like this:

'a single-quoted phrase`

using a back-quote to close it off.


So, I want to find (grep) all occurrences of
'g`
in a file.

Here's what I've tried so far -- with no success:



| 317 ====> egrep -n "`g'" `cat userdocs.nam` > ! t5.loc
| Unmatched `.
| 318 ====> egrep -n "\`g\'" `cat userdocs.nam` > ! t5.loc
| Unmatched `.
| 319 ====> egrep -n '[']g[`]' `cat userdocs.nam` > ! t5.loc
| Unmatched `.
| 320 ====> egrep -n "[']g[`]" `cat userdocs.nam` > ! t5.loc
| Unmatched `.


Oh, I'm using tcsh.




So, here's with sh (Bourne):

468 ====> sh
$
$ egrep -n "`g'" `cat userdocs.nam`
g": not found
usr_01.txt:1:*usr_01.txt* For Vim version 6.3. Last change: 2004 May 01
usr_01.txt:2:
usr_01.txt:3: VIM USER MANUAL - by Bram Moolenaar
usr_01.txt:4:
usr_01.txt:5: About the manuals
usr_01.txt:6:
usr_01.txt:7:
usr_01.txt:8:This chapter introduces the manuals available with Vim. Read this to know the
usr_01.txt:9:conditions under which the commands are explained.

$
$ egrep -n "\`g\'" `cat userdocs.nam` | head
$
$ egrep -n '[']g[`]' `cat userdocs.nam` | head
>
>

$ echo HUH?
HUH?
$
$
$ egrep -n "[']g[`]" `cat userdocs.nam` | head
]: not found
egrep: Unmatched [ or [^
$
$
$


Any ideas?

(please do first try your solutions, if any:
this quoting-stuff is a real bear!)


Thanks,

David


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 01-12-2008, 05:57 AM
Frank Cusack
 
Posts: n/a
Default Re: grep for a "`g'"? (gives an "Unmatched `" err)

On 5 Sep 2007 20:15:48 -0400 dkcombs@panix.com (David Combs) wrote:
> SUBJECT: How to grep for a "`g'"? (gives an "Unmatched `" err)
>
>
> You know how many documents do, uh, "2nd-level:" quoting around
> words or phrases by using *single* quotes, but not like this:"
>
> 'a single-quoted phrase'
>
> but like this:
>
> 'a single-quoted phrase`
>
> using a back-quote to close it off.


they don't do that. they `do this', or ``this'', to distinguish between
opening and closing quotes.

anyway, using double quotes interprets your args so you simply have to
escape the backquote: "\`g'".

Or use single quotes but then you have to escape the quote you are
trying to match: '`g\''.

-frank
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 01-12-2008, 05:57 AM
Giorgos Keramidas
 
Posts: n/a
Default Re: grep for a "`g'"? (gives an "Unmatched `" err)

On 5 Sep 2007 20:15:48 -0400, dkcombs@panix.com (David Combs) wrote:
> SUBJECT: How to grep for a "`g'"? (gives an "Unmatched `" err)
>
> You know how many documents do, uh, "2nd-level:" quoting around
> words or phrases by using *single* quotes, but not like this:"
>
> 'a single-quoted phrase'
>
> but like this:
>
> 'a single-quoted phrase`
>
> using a back-quote to close it off.


Escape your backquotes; when unescaped, they are interpreted by the
shell as the start of inline commands to be substituted by their output.

For example, look at the output of:

$ date
Thu Sep 6 04:22:19 EEST 2007
$ echo +++ "`date`" +++
+++ Thu Sep 6 04:22:31 EEST 2007 +++
$ echo +++ "\`date'" +++
+++ `date' +++
$

Note the way the actual output of _running_ the date(1) utility is
substituted in the second command.

Note how this substitution doesn't happen in the third command.

HTH,
Giorgos

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 01-12-2008, 05:58 AM
David Combs
 
Posts: n/a
Default It's the REGEXP I need: Re: grep for a "`g'"? (gives an "Unmatched `" err)

In article <87fy1sk2n6.fsf@kobe.laptop>,
Giorgos Keramidas <keramida@ceid.upatras.gr> wrote:
>On 5 Sep 2007 20:15:48 -0400, dkcombs@panix.com (David Combs) wrote:
>> SUBJECT: How to grep for a "`g'"? (gives an "Unmatched `" err)
>>
>> You know how many documents do, uh, "2nd-level:" quoting around
>> words or phrases by using *single* quotes, but not like this:"
>>
>> 'a single-quoted phrase'
>>
>> but like this:
>>
>> 'a single-quoted phrase`
>>
>> using a back-quote to close it off.

>
>Escape your backquotes; when unescaped, they are interpreted by the
>shell as the start of inline commands to be substituted by their output.
>
>For example, look at the output of:
>
>$ date
>Thu Sep 6 04:22:19 EEST 2007
>$ echo +++ "`date`" +++
>+++ Thu Sep 6 04:22:31 EEST 2007 +++
>$ echo +++ "\`date'" +++
>+++ `date' +++
>$
>
>Note the way the actual output of _running_ the date(1) utility is
>substituted in the second command.
>
>Note how this substitution doesn't happen in the third command.
>
>HTH,
>Giorgos
>


Thanks to both of you for your answers.

Problem is, I guess I mis-specified the problem:
I believe that you guys were addressing how to *write*
that quoted-q text such that later on an egrep
can find it.

The actual problem is that the text containing the quoted-q
is *someone else's* -- it's *already* writen (actually, it's
an .info-file that I'm searching for that q-thing.

So, the question becomes "how to write a REGEXP that will
find them?

Any clues?

Thanks!

David


PS: I suppose I could try perl, with it's nifty additional
quoting constructs, where you can choose your own string-delimiter.

Although maybe it'd still catch you in the regular-expression
parser?

D.



Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 01-12-2008, 05:58 AM
Malcolm
 
Posts: n/a
Default Re: It's the REGEXP I need: Re: grep for a "`g'"? (gives an"Unmatched `" err)

On Sat, 15 Sep 2007 17:58:54 +0000 (UTC)
dkcombs@panix.com (David Combs) wrote:

> In article <87fy1sk2n6.fsf@kobe.laptop>,
> Giorgos Keramidas <keramida@ceid.upatras.gr> wrote:
> >On 5 Sep 2007 20:15:48 -0400, dkcombs@panix.com (David Combs) wrote:
> >> SUBJECT: How to grep for a "`g'"? (gives an "Unmatched `" err)
> >>
> >> You know how many documents do, uh, "2nd-level:" quoting around
> >> words or phrases by using *single* quotes, but not like this:"
> >>
> >> 'a single-quoted phrase'
> >>
> >> but like this:
> >>
> >> 'a single-quoted phrase`
> >>
> >> using a back-quote to close it off.

> >
> >Escape your backquotes; when unescaped, they are interpreted by the
> >shell as the start of inline commands to be substituted by their
> >output.
> >
> >For example, look at the output of:
> >
> >$ date
> >Thu Sep 6 04:22:19 EEST 2007
> >$ echo +++ "`date`" +++
> >+++ Thu Sep 6 04:22:31 EEST 2007 +++
> >$ echo +++ "\`date'" +++
> >+++ `date' +++
> >$
> >
> >Note the way the actual output of _running_ the date(1) utility is
> >substituted in the second command.
> >
> >Note how this substitution doesn't happen in the third command.
> >
> >HTH,
> >Giorgos
> >

>
> Thanks to both of you for your answers.
>
> Problem is, I guess I mis-specified the problem:
> I believe that you guys were addressing how to *write*
> that quoted-q text such that later on an egrep
> can find it.
>
> The actual problem is that the text containing the quoted-q
> is *someone else's* -- it's *already* writen (actually, it's
> an .info-file that I'm searching for that q-thing.
>
> So, the question becomes "how to write a REGEXP that will
> find them?
>
> Any clues?
>
> Thanks!
>
> David
>
>
> PS: I suppose I could try perl, with it's nifty additional
> quoting constructs, where you can choose your own string-delimiter.
>
> Although maybe it'd still catch you in the regular-expression
> parser?
>
> D.
>
>
>


/home/malcolml> cat userdocs.nam
a test 'just testing`
testing
naming`
qwerty
xxxx`1
/home/malcolml> egrep -n 'g`' userdocs.nam
1:a test 'just testing`
3:naming`
/home/malcolml>

--
Cheers Malcolm °¿° (Linux Counter #276890)
SLED 10.0 SP1 x86_64 Kernel 2.6.16.53-0.8-smp
up 5 days 17:59, 4 users, load average: 0.08, 0.07, 0.03
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 01:06 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
www.UnixAdminTalk.com