[CentOS] another sed question...
Craig White
craigwhite at azapple.com
Fri May 30 19:25:07 UTC 2008
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 at centos.org
> > 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
More information about the CentOS
mailing list