Craig White wrote:
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@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
I didn't think of numbers larger than 9 :-/ Here is an upgraded version of my script.. modify the substr command slightly.. That will enable numbers up to 10 chars long.
idtag=strtonum(substr($2,2,10))