Difference between revisions of "Crudini"

From Christoph's Personal Wiki
Jump to: navigation, search
(New page: '''<tt>crudini</tt>''' is a utility to simplify reading and updating ini/conf files from shell scripts, so named as it provides CRUD (Create/Read/Update/Delete) functionality. ==Example u...)
 
 
Line 16: Line 16:
 
  $ crudini --set foobar.conf host foo baz
 
  $ crudini --set foobar.conf host foo baz
 
  $ crudini --get foobar.conf host foo #=> baz
 
  $ crudini --get foobar.conf host foo #=> baz
 +
 +
Note that you can, of course, accomplish the same CRUD tasks as <code>`crudini`</code> using [[awk]]:
 +
$ cat << EOF >foobar.conf
 +
[foo]
 +
[bar]
 +
[baz]
 +
EOF
 +
$ echo -e 'one\ntwo' | awk '{ print } $1 == "[bar]" && c == 0 { c = 1; system("cat") }' foobar.conf
 +
[foo]
 +
[bar]
 +
one
 +
two
 +
[baz]
  
 
==External links==
 
==External links==

Latest revision as of 17:53, 27 October 2015

crudini is a utility to simplify reading and updating ini/conf files from shell scripts, so named as it provides CRUD (Create/Read/Update/Delete) functionality.

Example usage

  • Create a test conf file:
$ cat << EOF > foobar.conf
[host]
foo=bar
ip=10.0.0.2
EOF
  • Get the value of a given key:
$ crudini --get foobar.conf host ip #=> 10.0.0.2
  • Change the value of a given key:
$ crudini --get foobar.conf host foo #=> bar
$ crudini --set foobar.conf host foo baz
$ crudini --get foobar.conf host foo #=> baz

Note that you can, of course, accomplish the same CRUD tasks as `crudini` using awk:

$ cat << EOF >foobar.conf
[foo]
[bar]
[baz]
EOF
$ echo -e 'one\ntwo' | awk '{ print } $1 == "[bar]" && c == 0 { c = 1; system("cat") }' foobar.conf 
[foo]
[bar]
one
two
[baz]

External links