开发者

get list of sections from ini-file using shell (sed/awk)

I want to create a开发者_开发问答 var from the section names of an ini file like:

[foo]
; ...

[bar]
; ...

[baz:bar]
;...

now I need a var like

SECTIONS="foo bar baz"

thanks in advance


One line solution could be:

export SECTIONS=`grep "^\[" test.ini |sort -u | xargs | tr '\[' ' ' | tr '\]' ' ' `


SECTIONS=$(crudini --get your.ini | sed 's/:.*//')


I'm now using this construct, don't need to know if a section exists. just read it, if it's empty it does not exist.

INI_FILE=test.ini

function ini_get
{

    eval `sed -e 's/[[:space:]]*\=[[:space:]]*/=/g' \
        -e 's/;.*$//' \
        -e 's/[[:space:]]*$//' \
        -e 's/^[[:space:]]*//' \
        -e "s/^\(.*\)=\([^\"']*\)$/\1=\"\2\"/" \
    < $INI_FILE \
    | sed -n -e "/^\[$1\]/,/^\s*\[/{/^[^;].*\=.*/p;}"

    echo ${!2}
}


IP=$(ini_get 50001 ip)
PORT=$(ini_get 50001 port)
echo $IP:$PORT
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜