Talk About Network



Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Awk > Re: parsing a t...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 5 of 17 Topic 2217 of 2236
Post > Topic >>

Re: parsing a text file

by Janis Papanagnou <Janis_Papanagnou@[EMAIL PROTECTED] > Apr 8, 2008 at 12:10 AM

ric wrote:
> Hi People:
> 
> Could anybody tell me how can I do this with awk or bash shell?
> I've a file with this systaxis:
> 
> #cat file
> I went fishing for some sea <bass>.
> The <bass> part of the song is very moving.
> 
> he proposed an elaborate <program> of public works.This information
> was taken from the magazine.
> the <program> required several hundred lines of code.
> 
> I need a script that gets 3 previus words and 3 words after the
> tag(<>) from a text file,EXCEPT the words greater than
> 2 chars length(example of,a,an).
> 
> Returning something like this:
> 
> #----------------------------------
> for some sea bass
> The bass part the song
> proprosed elaborate program public works
> the program required several hundred

Your data format makes a solution somewhat ugly (see missing space
after the sentence in " works.This "). The following solution will
not stop printing after a '.' as your output suggests; if that is a
necessary requirement the program, especially the conditions of the
inner for loops, must be refined.

     { gsub (/[,.;:]/, " ", $0) }
     /<.*>/ { for (i = 1; i <= NF; i++)
                if ($i~/<.*>/) { s = substr ($i, 2, length($i)-2)
                  c = 0
                  for (j = i-1; j > 0 && c != 3; j--)
                    if (length($j)>2) { s = $j FS s ; c++ }
                  c = 0
                  for (j = i+1; j <= NF && c != 3; j++)
                    if (length($j)>2) { s = s FS $j ; c++ }
                }
              print s
     }

Will produce...

for some sea bass
The bass part the song
proposed elaborate program public works This
the program required several hundred


Janis

> 
> 
> Thanks!
> -ric




 17 Posts in Topic:
parsing a text file
ric <ricardo7@[EMAIL P  2008-04-07 10:01:05 
Re: parsing a text file
gazelle@[EMAIL PROTECTED]  2008-04-07 17:17:26 
Re: parsing a text file
ric <ricardo7@[EMAIL P  2008-04-07 14:29:48 
Re: parsing a text file
Janis Papanagnou <Jani  2008-04-08 00:15:18 
Re: parsing a text file
Janis Papanagnou <Jani  2008-04-08 00:10:01 
Re: parsing a text file
"Anton Treuenfels&qu  2008-04-07 22:31:43 
Re: parsing a text file
Ed Morton <morton@[EMA  2008-04-07 17:14:10 
Re: parsing a text file
ric <ricardo7@[EMAIL P  2008-04-07 15:36:52 
Re: parsing a text file
ric <ricardo7@[EMAIL P  2008-04-07 16:00:54 
Re: parsing a text file
Janis Papanagnou <Jani  2008-04-08 01:05:40 
Re: parsing a text file
ric <ricardo7@[EMAIL P  2008-04-07 19:07:38 
Re: parsing a text file
Ed Morton <morton@[EMA  2008-04-08 07:16:06 
Re: parsing a text file
Janis <janis_papanagno  2008-04-08 05:47:41 
Re: parsing a text file
Ed Morton <morton@[EMA  2008-04-08 07:58:29 
Re: parsing a text file
ric <ricardo7@[EMAIL P  2008-04-08 08:03:47 
Re: parsing a text file
ric <ricardo7@[EMAIL P  2008-04-08 14:39:18 
Re: parsing a text file
Ed Morton <morton@[EMA  2008-04-09 12:38:49 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Fri May 16 8:35:56 CDT 2008.