Say У меня есть строка:Unix Экспорт Переменные Tokenised строки
'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"
Я хочу экспортировать их как Shell переменные ,
Примечание: Количество переменных в строке может отличаться по усмотрению пользователя.
Пожалуйста, помогите.
это не работает ... когда я эхо переменной его отображения пустых значений и что, если вместо awk Я использую sed: echo '"EffTimeStamp = 20110203-210000 # InputCtxNm = Forigen Exchange Today # RunType = EOD"' | sed 's/^ "//; s/=/="/g; s/#/"\ n/g' –
, пожалуйста, отредактируйте свой вопрос, включив эту ценную информацию для отладки. редактирует мой вопрос ». Удачи. – shellter
см. правки на мои вопросы: Я попытался сделать это, но привел к пустым экспорту. ' sac $ eval 'EffTimeStamp = "20110203-210000" # InputCtxNm = "Forigen Exchange Today" # RunType > | awk -F # -v OFS = "\ n" '{for (i = 1; i <= NF; i ++) printf ("export% s% s", $ i, (i == NF? " \ п»: OFS))}» мешок $ мешок $ эхо $ RunType мешок $ мешок $ эхо $ EffTimeStamp мешок $ ' –