У меня довольно сложная проблема, но здесь я пытаюсь показать упрощенную. У меня есть много строк в тексте, как это:sed regex на текст с закрывающей скобкой
' key=value '
'[key2=value2]'
' key3=value3]'
'[key4=value3,'
Моя цель состоит в том, чтобы преобразовать эти строки в формате, как это: «ключ» -> «значение» с сохранением символов согласующие. Например: 'key3 = value3]' -> '"key3" -> "value3"]' К сожалению, многие символы могут заканчиваться, но указание завершающих символов по-прежнему остается жизнеспособным, чем попытка определить не завершение.
Это как далеко я получил:
$ echo ' key1=value1' | sed -E -e 's/([^\t []+)=(.+)(\[|$|[ \t])/"\1" -> "\2"\3/g'
У меня нет никаких проблем с моим решением, кроме закрывающей скобки (]) всегда рассматриваются как нетерминальный характер и имеет преимущество над другими, как это:
' key1=value1] ' -> '"key1" -> "value1]"' instead of this: '"key1" -> "value1"]'