Моя цель - использовать файл оболочки для разбора текста из wit.ai, и я не могу понять, что строка (с именем data
) может быть совершенно иной. Я пытался использовать команду sed, но не повезло. Ответ от разъединять выглядит следующим образом (но имейте в виду, что это может быть разного размера):Shell Script для разбора текста в две отдельные строки
data=
{"status":"ok"}{"_text":"testing","msg_id":"56a26ccf-f324-455f-ba9b-db21c8c7ed50","outcomes":[{"_text":"testing","confidence":0.289,"entities":{},"intent":"weather"}]}
Я хотел бы разобрать на две строки по имени text
и intent
.
Желаемый результат должен быть две строки следующим образом
text= "testing"
intent= "weather"
код у меня до сих пор является:
data='{"status":"ok"}{"_text":"testing","msg_id":"56a26ccf-f324-455f-ba9b-db21c8c7ed50","outcomes":[{"_text":"testing","confidence":0.289,"entities":{},"intent":"weather"}$
text=$(echo $data | cut -d"," -f1) #removes text down to testing but leaves a quote at the end
text=$(echo "${text::-1}") # this line removes the quote
echo $data
echo $text
Текущий результат: {"status":"ok"}{"_text":"testing
Я близко я просто нужно удалить {"status":"ok"}{"_text":"
, поэтому я остался с testing
. Я близок, но я не могу представить эту последнюю часть.
является то, что первый или второй «текст»? Как выглядит ваша команда sed? –
Что означают эти данные *? Как это интерпретировать? Каким образом это может варьироваться между ответами? '' _text ":" testing "' находится там дважды. Как эти два экземпляра отличаются? –
Вхождения «_text»: «тестирование» никогда не отличаются друг от друга. – Accentrix