- Я перебрал наверное все известные мне варианты экранирования кавычек и нашёл в , Аноним (1), 11:17 , 30-Дек-20 (1)
Я перебрал наверное все известные мне варианты экранирования кавычек (и нашёл в поисковой системе некоторые странные). Ничего не получается.
- чего получиться-то должно Или мы по каше должны догадаться предположу, что где-, Аноним (2), 12:14 , 30-Дек-20 (2)
> Нас интересует value2 и им мы будем оперировать > А то всё в кашу превращается.чего получиться-то должно? Или мы по каше должны догадаться? предположу, что где-то должно быть \([^"]*\)
- Господа студиозусы, вы слегка достали Уже третий раз за месяц один и тот же воп, ACCA (ok), 12:34 , 30-Дек-20 (5)
Господа студиозусы, вы слегка достали. Уже третий раз за месяц один и тот же вопрос.У тебя стандартная задача разобрать хэш { key=value }. Ну так и разбирай его с помощью правильного инструмента. Исходный поток [чем-нибудь] преобразуешь в правильный JSON, потом разбираешь JSON: echo '{ "value1"="111", "value2"="222.ext", "value3"="333" }' | tr = : | jq .value2 Надеюсь, ты догадаешься, как добавить недостающие запятые и кавычки, где нужно.
- Вам данные value2 с содержимым в двойных кавычках нужно убрать, остальное о, bagas (ok), 15:29 , 30-Дек-20 (13)
> Здравствуйте, подскажите, спасибо. GNU sed только -- остальные исполнение не поддерживают, > по-моему. Типичное применение это скормить совпадения date. > echo 'value1="111" value2="222.ext" value3="333" otherdata' | sed -e 's/\(.*\)"\(.*\)\(\.ext\)"\(.*\)/echo > 1:"\1" 2:"\2" 3:"\3" 4:"\4"/e' > Нас интересует value2 и им мы будем оперировать, необходимо чтобы остальные сроки > были переданы в скрипт без подобных модификаций навроде исчезающего содержимого. А > то всё в кашу превращается.Вам данные (value2="") с содержимым в двойных кавычках нужно убрать, остальное оставить?
- Не уверен что правильно понял задачу, но возможно это как-то поможет code ech, Аноним (29), 18:34 , 03-Янв-21 (29)
Не уверен что правильно понял задачу, но возможно это как-то поможет:$ echo -e 'value1="111" value2="222.ext" value3="333" otherdata\nvalue1="1" value2="2" value3="3" otherdata' | sed -e 's/"/\\"/g;s/\(.*\)\\"\(.*\)\(\.ext\)\\"\(.*\)/echo \1\\"\2\3\\"\4/e;s/\\"/\"/g' value1="111" value2="222.ext" value3="333" otherdata value1="1" value2="2" value3="3" otherdata
|