Re: Yahoo! Groups: Welcome to sed-users. Visit today!

Luigi Assom <[email protected]>
Newsgroups gmane.editors.sed.user
Message-ID <CAEiLF=soGYuJ-WiQwTCRcO9dYMo-ugBsu=Q0J1yFc+GMESuE2g@mail.gmail.com>
Thank you Afive too :)

I was finally able to write this syntax which worked for me:
first I extract url and I save it on a second file:
sed -n -e 's/\(<a[^h]*href="\)\([^"]*\)"\([^>]*>\)/\2/g; p'
/Users/gg4u/prova4.txt > /Users/gg4u/prova5.txt

then I clean out all others html tag and save it on a third file:
sed -e 's/<[^>]*>//g' /Users/gg4u/prova5.txt > /Users/gg4u/prova6.txt

A question:
I have several several source files which I want to process in batch, and I
want to save only the final results (without saving intermediate file..)
so from list /Users/.../prova1,2,3,...,6.txt save the results as
/Users/.../provaa,b,c,d,...txt

Which way could I use to automate ?
I could export list of file to do, but how to use it in batch from the
terminal?



On Thu, Apr 26, 2012 at 7:55 PM, Afive Ninethreeohthree <
[email protected]> wrote:

>
>
> --- In [email protected], Joe Gain <joe.gain@...> wrote:
> >
> > Hi Luigi,
> >
> > you need to take the time to look at how regular expressions are
> > built. When you are only copying an pasting it's very frustrating,
> > because you can't understand why something happens.
> >
> > The first chapter in the regular expressions book from O'Reilly is a
> > really good start.
>
>
> here are some links to aid you in your learning (first is best,in my
> opinion)
>
> sed --general--
>
> http://linuxtopia.org/online_books/linux_tool_guides/the_sed_faq/index.html
>
> http://pubs.opengroup.org/onlinepubs/007904875/utilities/sed.html
>
> --regex stuff--
>
> http://tldp.org/LDP/abs/html/regexp.html
>
> http://www.regular-expressions.info/tutorial.html
>
> --------------------------
>
> the linuxtopia(1st link) I found to be really helpfull, and easy to
> understand.
>
> ------from-
> --------------a5'
> -----------------------------------------------------
>
>
> >
> > On Wed, Apr 25, 2012 at 8:06 PM, Luigi Assom <luigi.assom@...> wrote:
> > > Joe, Cameron, thank you for your help!
> > >
> > > I did not know sed and tr command, they are totally new and the syntax
> > > really complex, and i don't know perl as well. I did not understand
> what
> > > you mean exactly, but I tried to copy the sytax you sent, barely as it
> is..
> > > the only thing which worked a bit seems to be this:
> > > sed -n -e 's/\(<a[^h]*href="\)\([^"]*\)"\([^>]*>\)/\2/g; p'
> > >
> > > so I was able to place the url inside the <a> tag outside which is
> good :)
> > > I could not split end of lines, because it is long text with no "\n"
> > > characters.
> >
> > That's good if you have no newline characters. Sed is a _s_treem
> _ed_itor!
> >
> > That's right, I would try and remove the surrounding tag (and
> > attributes) from the text that you want which is inside a tag. And
> > then remove all the other tags.
> >
> > Perl is good because it gives you more control over your data. You can
> > also learn some basic perl pretty quickly.
> >
> > >
> > > I just need to strip out all the other html tags (I don't need them)
> and
> > > keep only plain text outside the tags.
> > >
> > > so I will have a file like
> > > url texttext text text text text url text text text text text
> > > and then I should be ok to handle it.
> > >
> > > Maybe is there any GUI interface to use sed on mac?
> > > thank you for your help!
> >
> > I don't know of any, maybe there is something online- a web
> > application, but I don't know.
> > >
> > > Luigi
> > >
> > > On Wed, Apr 25, 2012 at 12:14 AM, Cameron Simpson <cs@...> wrote:
> > >
> > >> Joe has the truth here. I'm just adding a few remarks.
> > >>
> > >> On 24Apr2012 13:05, Joe Gain <joe.gain@...> wrote:
> > >> | one of sed's problems is dealing with newline characters
> > >>
> > >> Remark: specificly because it deals with a line at a time.
> > >>
> > >> | and you have
> > >> | your html anchor tags split over new lines. There's probably a smart
> > >> | way to overcome this using sed (and sed's line buffer), but it's not
> > >> | an easy alternative.
> > >> |
> > >> | I think the best way for you is to:
> > >> |
> > >> | 1. remove all the new line characters,or at least don't split tags
> > >> | with new lines (there are many ways to do this, depending on which
> > >> | version of sed you are using, could be as easy as # sed -n -e
> > >> | 's/\n//g; p' data.html)
> > >>
> > >> Or, not using sed:
> > >>
> > >>  ( tr -d '\012' < data.html ; echo ) | sed other-sed-work-now....
> > >>
> > >> This removes all the newlines using tr, then adds one at the end with
> > >> echo, thus putting all the text on a single line.
> > >>
> > >> personally I'd trn newlines into spaces, otherwise a word break
> across a
> > >> line like this:
> > >>
> > >>  <p> some words
> > >>  here</p>
> > >>
> > >> would become
> > >>
> > >>  <p> some wordshere</p>
> > >>
> > >> So:
> > >>
> > >>  ( tr '\012' ' ' < data.html ; echo ) | sed other-sed-work-now....
> > >>
> > >> Remember, sed is not your only tool.
> > >>
> > >> | 2. remove the surrounding tags from the text that you want in your
> > >> | anchor attributes with something like:
> > >> | sed -n -e 's/\(<a[^h]*href="\)\([^"]*\)"\([^>]*>\)/\2/g; p'
> > >>
> > >> I have my concerns here, specificly the "[^h]". It will match "<a
> href"
> > >> as intended, but it will also match all sorts of other undesired
> things.
> > >>
> > >>  <a  *href=
> > >>
> > >> is more reliable, matching spaces. It does presume no TAB characters.
> > >>
> > >> I would be inclined to use even more tr at the outset, to hammer the
> > >> text flatter:
> > >>
> > >>  ( tr '\011\012' ' ' < data.html ; echo ) | tr -s ' ' | sed ...
> > >>
> > >> So:
> > >>  - turn newlines and TABs into spaces
> > >>  - turn multiple spaces into a single space
> > >>
> > >> That way you can write patterns like this:
> > >>
> > >>  <a href=
> > >>
> > >> without having to cope with more than one space; it makes the regexps
> > >> much easier to write and read.
> > >>
> > >> Cheers,
> > >> --
> > >> Cameron Simpson <cs@...> DoD#743
> > >> http://www.cskk.ezoshosting.com/cs/
> > >>
> > >> My venus fly trap is higher up the food chain than I am.
> > >>        - simon@... (Simon Klyne)
> > >>
> > >
> > >
> > >
> > > --
> > > Luigi Assom
> > >
> > > Skype contact: oggigigi
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> > >
> > >
> > > ------------------------------------
> > >
> > > --
> > > Yahoo! Groups Links
> > >
> > >
> > >
> >
> >
> >
> > --
> > joe gain
> >
> > jacob-burckhardt-str. 16
> > 78464 konstanz
> > germany
> >
> > +49 (0)7531 60389
> >
> > (...otherwise in ???)
> >
>
>
>
>
> ------------------------------------
>
> --
> Yahoo! Groups Links
>
>
>
>


-- 
Luigi Assom

Skype contact: oggigigi


[Non-text portions of this message have been removed]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.