3

次のようなiniファイルのセクション名からvarを作成したいと思います。

[foo]
; ...

[bar]
; ...

[baz:bar]
;...

今私はのような変数が必要です

SECTIONS="foo bar baz"

前もって感謝します

4

3 に答える 3

2

1行のソリューションは次のとおりです。

export SECTIONS=`grep "^\[" test.ini |sort -u | xargs | tr '\[' ' ' | tr '\]' ' ' `
于 2012-06-05T09:48:45.103 に答える
1
SECTIONS=$(crudini --get your.ini | sed 's/:.*//')
于 2015-01-12T12:05:33.967 に答える
-1

私は現在この構成を使用しています。セクションが存在するかどうかを知る必要はありません。読んでください。空の場合は存在しません。

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
于 2010-09-16T08:28:29.440 に答える