Linux 经常修改配置文件,crudini 是一个不错的选择,尽管存在一些不足。
作用
crudini 用于操纵配置文件(ini或conf等)的变量
安装
$ sudo yum install crudini
说明
$ man crudini
显示使用内容如下:
NAME
crudini - manipulate ini files
SYNOPSIS
crudini --set [OPTION]... config_file section [param] [value]
crudini --get [OPTION]... config_file [section] [param]
crudini --del [OPTION]... config_file section [param] [list value]
crudini --merge [OPTION]... config_file [section]
DESCRIPTION
crudini - A utility for manipulating ini files
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 specifed 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
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)
用法
crudini --set [--existing] config_file section [param] [value]
crudini --get [--format=sh|ini] config_file [section] [param]
crudini --del [--existing] config_file section [param]
crudini --merge [--existing] config_file [section]
crudini 用于操作ini文件,可以设置、获取、删除、合并其中的变量
其中:config_file 代表要操作的文件名,section 表示变量所在的部分,如以下配置文件:
[DEFAULT]
user = admin
passwd = admin
port = 8088
[URL]
client = 127.0.0.1:8088
admin = 127.0.0.1:8080
section 则表示了以上配置文件中的DEFAULT 和 URL ,在命令中不需要加中括号[],param 则如user ,passwd,client 等。
添加
$ crudini --set config_file section parameter value
更新
$ crudini --set [--existing] config_file section parameter value
删除
删除变量:
$ crudini --del config_file section parameter
删除section:
$ crudini --del config_file section
获取
$ crudini --del config_file section parameter
如果该标量不在某一个section里面,则section用一个空字符表示:
$ crudini --del config_file '' parameter
合并
将another.ini配置文件合并到config_file中:
$ crudini --merge config_file < another.ini