У меня есть вход, который имеет несколько полейReplace пространства по-разному в зависимости от снаружи или внутри одиночных кавычек
- разделенных пробелами,
- некоторые другие заключены в кавычки, а также разделённых пробелами
Вот пример ввода:
active=1 'oldest active'=0s disabled=0 'function call'=0
Я бы хотел (а) заменить:
- всех пространств вне цитаты по
|
и - все внутренние котировки по
_
выход будет:
active=1|'oldest_active'=0s|disabled=0|'function_call'=0
Я пробовал различные решения с sed
или perl
найти в Интернете но мне этого не удалось, я хочу.
Ничего себе, какой быстрый и эффективный ответ! Спасибо за объяснение. Есть ли хорошая документация по всем доступным параметрам (например, SKIP, ...)? – BDR
см. Http://www.rexegg.com/backtracking-control-verbs.html и http://www.rexegg.com/regex-best-trick.html – Sundeep