Re: another sed question...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Fri, 2008-05-30 at 20:26 +0200, Thomas Johansson wrote:
> Craig White wrote:
> > Looking to change a yml file (yaml is a database type file)
> > 
> > *** from
> > --- !ruby/object:Right 
> > attributes: 
> >   name: Personnel Admin
> >   action: index
> >   id: "1"
> >   controller: assessments
> > --- !ruby/object:Right 
> > attributes: 
> >   name: Personnel Admin
> >   action: find
> >   id: "2"
> >   controller: assessments
> > 
> > *** to
> > --- !ruby/object:Right 
> > attributes_1: 
> >   name: Personnel Admin
> >   action: index
> >   id: "1"
> >   controller: assessments
> > --- !ruby/object:Right 
> > attributes_2: 
> >   name: Personnel Admin
> >   action: find
> >   id: "2"
> >   controller: assessments
> > 
> > where I'm taking the 'id:' field from each record and inserting an
> > underscore and the id into the 'attributes' label directly above.
> > 
> > Any takers?
> > 
> > Thanks
> > 
> > Craig
> > 
> > _______________________________________________
> > CentOS mailing list
> > CentOS@xxxxxxxxxx
> > http://lists.centos.org/mailman/listinfo/centos
>  >
> I use awk instead of sed...
> 
> Reverse file order, perform changes using awk and reverse again
> 
> tac test.yml | awk '{if ($1=="id:"){idtag=substr($2,2,1)}; \
>        if ($1=="attributes:") {print "attributes_"idtag":"} \
>        else {print $0}}' | tac -
----
That was awesome...thanks...I learned a lot there.

I had to adjust the length of the substr function to get what I needed.

Thanks

Craig

_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos

[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]
  Powered by Linux