The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Режим отображения только ответов первого уровня [ Отслеживать ]

Оглавление

sed теряет кавычки и не хочет  работать, Аноним (0), 30-Дек-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


1. "sed теряет кавычки и не хочет  работать"  +/
Сообщение от Аноним (0), 30-Дек-20, 11:17 
Я перебрал наверное все известные мне варианты экранирования кавычек (и нашёл в поисковой системе некоторые странные). Ничего не получается.
Ответить | Правка | Наверх | Cообщить модератору

2. "sed теряет кавычки и не хочет  работать"  +/
Сообщение от Аноним (2), 30-Дек-20, 12:14 
> Нас интересует value2 и им мы будем оперировать
> А то всё в кашу превращается.

чего получиться-то должно? Или мы по каше должны догадаться?
предположу, что где-то должно быть

\([^"]*\)

Ответить | Правка | Наверх | Cообщить модератору
есть ответы, показать

5. "sed теряет кавычки и не хочет  работать"  +/
Сообщение от ACCA (ok), 30-Дек-20, 12:34 
Господа студиозусы, вы слегка достали. Уже третий раз за месяц один и тот же вопрос.

У тебя стандартная задача разобрать хэш { key=value }. Ну так и разбирай его с помощью правильного инструмента. Исходный поток [чем-нибудь] преобразуешь в правильный JSON, потом разбираешь JSON:

echo '{ "value1"="111", "value2"="222.ext", "value3"="333" }' | tr = : | jq .value2

Надеюсь, ты догадаешься, как добавить недостающие запятые и кавычки, где нужно.


Ответить | Правка | Наверх | Cообщить модератору
есть ответы, показать

13. "sed теряет кавычки и не хочет  работать"  +/
Сообщение от bagas (ok), 30-Дек-20, 15:29 
> Здравствуйте, подскажите, спасибо. 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="") с содержимым в двойных кавычках нужно убрать, остальное оставить?

Ответить | Правка | Наверх | Cообщить модератору
есть ответы, показать

29. "sed теряет кавычки и не хочет  работать"  +/
Сообщение от Аноним (29), 03-Янв-21, 18:34 
Не уверен что правильно понял задачу, но возможно это как-то поможет:

$ 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
Ответить | Правка | Наверх | Cообщить модератору
есть ответы, показать

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру