Что другие программы командной строки имеют этот выходной формат?

Я записал немного программы для парсинга hg logвывод командной строки, который, оказывается, похож:

changeset:   90:abcdef012345
tag:         tip
user:        me
date:        Sat Apr 30 17:42:05 2011 -0700
summary:     Made another change

changeset:   89:def012345abc
user:        me
date:        Sat Apr 30 16:52:19 2011 -0700
summary:     Made a change

На самом деле моя программа достаточно универсальна для парсинга любого "ключа: оцените" пар, пока каждая новая запись разделяется пустой строкой.

Теперь я хочу сойти с ума и попытаться выполнить его против некоторых других (реальных) данных. Есть ли любая другая программа, которая генерирует "ключ: оценить" данные как это?

1
задан 08.05.2011, 03:06

0 ответов

С двумя командами, TR и sed, можно преобразовать его к более подобному записи формату:

echo 'changeset:   90echo 'changeset:   90:abcdef012345
tag:         tip
user:        me
date:        Sat Apr 30 17:42:05 2011 -0700
summary:     Made another change

changeset:   89:def012345abc
user:        me
date:        Sat Apr 30 16:52:19 2011 -0700
summary:     Made a change
' | tr '\n' ';' | sed 's/;;/\n/' 
changeset:   90:abcdef012345;tag:         tip;user:        me;date:        Sat Apr 30 17:42:05 2011 -0700;summary:     Made another change
changeset:   89:def012345abc;user:        me;date:        Sat Apr 30 16:52:19 2011 -0700;summary:     Made a change;;

Однако, если бы это - Ваш формат, я перешел бы к более подобному Формату CSV. Вы не должны повторять заголовок в каждой строке, и с вкладками вместо''; или'', (если Вам не нужны вкладки как содержание), Вы получаете формат, который очень хорошо проанализировать вручную, сравнить строки, к grep строкам с grep, и произвести графики с LibreOffice или поместить данные в базу данных.

Если у Вас есть более энергозависимый формат, xml мог бы быть лучше - не по сути, но потому что существует столько инструментов там.

В Главе 5 ESRs запись "Искусства Программирования Unix, возможно, Вы находите некоторое вдохновение для своей работы.

0
ответ дан 24.11.2019, 00:42

Теги

Похожие вопросы