0

文字列があるとします:

'EffTimeStamp="20110203-210000"#InputCtxNm="Forigen Exchange Today"#RunType="EOD"#Age="90"

使用:

echo 'EffTimeStamp="20110203-210000"#InputCtxNm="Forigen Exchange Today"#RunType="EOD"#Region=US#Age="90"' \ |  awk -F# -v OFS="\n" '{for (i=1;i<=NF; i++) printf("%s%s", $i, (i==NF ? "\n" : OFS)) }'

私はそれを次のように変換します:

EffTimeStamp="20110203-210000"
InputCtxNm="Forigen Exchange Today"
RunType="EOD"
Region=US
Age="90"

これらをシェル変数としてエクスポートしたい。

注 : 文字列内の変数の数は、ユーザーの裁量によって異なる場合があります。

助けてください。

4

2 に答える 2

1

あなたの殻は何ですか?

bashを想定して、これを試してください。

source <(awk -v RS="#" '{print "export " $0}' <<< "$string")

kshの場合、これは機能するはずです

. <(printf "%s\n" "$string" | awk -v RS="#" '{print "export " $0}')
于 2012-05-07T16:58:32.460 に答える
0

あなたのawkでは、

printf("export %s%s"

次に、「echo」を「eval」に置き換えます。

于 2012-05-07T16:24:04.727 に答える