2.2 KiB
crudini
Description
A utility for easily handling ini files from the command line and shell scripts.
Usage: crudini --set [OPTION]... config_file section [param] [value]
or: crudini --get [OPTION]... config_file [section] [param]
or: crudini --del [OPTION]... config_file section [param] [list value]
or: crudini --merge [OPTION]... config_file [section]
Options:
--existing[=WHAT] For --set, --del and --merge, fail if item is missing,
where WHAT is 'file', 'section', or 'param', or if
not specified; all specified items.
--format=FMT For --get, select the output FMT.
Formats are sh,ini,lines
--inplace Lock and write files in place.
This is not atomic but has less restrictions
than the default replacement method.
--list For --set and --del, update a list (set) of values
--list-sep=STR Delimit list values with "STR" instead of " ,"
--output=FILE Write output to FILE instead. '-' means stdout
--verbose Indicate on stderr if changes were made
--help Write this help to stdout
--version Write version to stdout
Examples:
-
Add/Update a var
crudini --set config_file section parameter value -
Update an existing var
crudini --set --existing config_file section parameter value -
Delete a var
crudini --del config_file section parameter -
Delete a section
crudini --del config_file section -
output a value
crudini --get config_file section parameter -
output a global value not in a section
crudini --get config_file '' parameter -
output a section
crudini --get config_file section -
output a section, parseable by shell
eval $(crudini --get --format=sh config_file section) -
update an ini file from shell variable(s)
echo name="$name" | crudini --merge config_file section -
merge an ini file from another ini
crudini --merge config_file < another.ini -
compare two ini files using standard UNIX text processing
diff <(crudini --get --format=lines file1.ini|sort) \ <(crudini --get --format=lines file2.ini|sort)