Привет я использую ниже содержание в файле, я хочу значение shortversion для печати,поиск первого вхождения строки и напечатать его значение в Linux
{
"app_versions": [
{
"version": "15",
"shortversion": "0.0.15",
"title": "java expert",
"timestamp": 1469530069,
"appsize": 3436229,
"notes": ,
"mandatory": false,
"external": false,
"device_family": null,
"id": 9,
"app_id": 356250,
"minimum_os_version": "4.1",
,
{
"version": "7",
"shortversion": "0.0.7",
"title": "java expert",
"timestamp": 1469528889,
"appsize": 3436225,
,
{
"version": "3",
"shortversion": "0.0.3",
"title": "javaExpert",
"timestamp": 1469209202,
"appsize": 3420965,
как я могу напечатать значение первого появления короткой версии с использованием sed, я использовал следующую команду awk для получения shortversion awk -F'"' '/\"shortversion\"/{print $10;}'
read.version. Эта команда генерирует вывод 0.0.15
, который является правильным, но файл генерируется динамически, вам нужна ваша ценная помощь на этом
, пожалуйста, отформатируйте свой вопрос: http://stackoverflow.com/editing-help – Sundeep
Почему это должно быть с sed Почему «файл получает генерируемое динамически»? Что такое сценарий awk, который вы опубликовали, не будет выводить результат, который вы говорите, он дает n введенный вами текст - отредактируйте свой вопрос, чтобы быть точным и последовательным в себе. –
Я думаю, что редактирование должно быть отменено до тех пор, пока OP не подтвердит, что вход действительно предоставляется на отдельных строках. Первоначальный пост подразумевал, что ввод предоставляется на одной длинной строке (отсюда и использование '$ 10'). – jas