Chinaunix
标题:
读取ini配置文件需求,感谢各位大大~
[打印本页]
作者:
go2cxg
时间:
2014-03-29 15:54
标题:
读取ini配置文件需求,感谢各位大大~
本帖最后由 rdcwayx 于 2014-03-31 08:49 编辑
1.文件test.cnf
[mod1]
JAVA_ARGS="-server -Xms512m -Xmx512m -XX:NewSize=64m -XX:+UseConcMarkSweepGC"
JAVA_OPTSS="${JAVA_ARGS} -Dsun.rmi.dgc.server.gcInterval=3600000"
[mod2]
key="name"
JAVA_ARGS="${JAVA_ARGS} -Dsun.rmi.dgc.client.gcInterval=30000"
[mod3]
key="name1"
file="test"
复制代码
2.需求
希望写一个脚本,do.sh $MOD $CONF
$MOD 表示模块名称
$CONF 表示该模块下的配置名称
希望输出该模块下该配置项的值
如:sh do.sh mod1 JAVA_ARGS 输出:
-server -Xms512m -Xmx512m -XX:NewSize=64m -XX:+UseConcMarkSweepGC
谢谢。。。
折磨了很久,未果
作者:
go2cxg
时间:
2014-03-29 16:24
本帖最后由 rdcwayx 于 2014-03-31 08:50 编辑
# !/bin/bash
INIFILE=$1
SECTION=$2
ITEM=$3
function ReadINIfile()
{
ReadINI=`awk -F '=' '/\['$SECTION'\]/{a=1}a==1&&$1~/'$ITEM'/{print $0;exit}' $INIFILE|cut -d "=" -f 2-`
echo $ReadINI
}
ReadINIfile $INIFILE $SECTION $ITEM
复制代码
借用
http://bbs.chinaunix.net/thread-3666122-1-1.html
加了点改动
感谢!
作者:
这个冬天不冷
时间:
2014-03-29 16:43
[root@syh test]# php -r '$arr=parse_ini_file("a", true);echo $arr[$argv[1]][$argv[2]]."\n";' mod2 JAVA_ARGS
-Dsun.rmi.dgc.client.gcInterval=30000
[root@syh test]# cat a
[mod1]
JAVA_ARGS="-server -Xms512m -Xmx512m -XX:NewSize=64m -XX:+UseConcMarkSweepGC"
JAVA_OPTSS="${JAVA_ARGS} -Dsun.rmi.dgc.server.gcInterval=3600000"
[mod2]
key="name"
JAVA_ARGS="${JAVA_ARGS} -Dsun.rmi.dgc.client.gcInterval=30000"
[mod3]
key="name1"
file="test"
[root@syh test]#
复制代码
作者:
yestreenstars
时间:
2014-03-29 17:13
[root@bogon test2]# sh do.sh mod1 JAVA_ARGS
-server -Xms512m -Xmx512m -XX:NewSize=64m -XX:+UseConcMarkSweepGC
[root@bogon test2]# cat do.sh
#!/bin/bash
awk -F\" -v x=$1 -v y=$2 '$0=="["x"]"{k=1;next}/^\[.*\]$/{k=0}k&&$1==y"="{print $2}' test.cnf
[root@bogon test2]#
复制代码
作者:
tseesing
时间:
2014-03-29 19:22
本帖最后由 tseesing 于 2014-03-29 19:33 编辑
[root@localhost tmp]# sed -r -n -e '/\['$MOD'\]/,/\[[^#]+\]/{ s/^[[:blank:]]*'$CONF'="(.*)"/\1/gp }' /tmp/f
-server -Xms512m -Xmx512m -XX:NewSize=64m -XX:+UseConcMarkSweepGC
[root@localhost tmp]#
复制代码
作者:
q1208c
时间:
2014-03-31 07:41
换成 python 的config 会不会更好些?
作者:
LikeLx
时间:
2014-03-31 10:40
awk -vRS='[' -v a="mod1" -v b="JAVA_ARGS=" -F '\n' '{for(i=0;i++<NF;) if($0~a&&$i~b) print $i}'
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2