@MarcelC. Я думал, может, кто-то может иметь знания о Мальта и может консультировать о различных вещей, чтобы видеть (или на что стоит посмотреть). Его маленький остров, я уверен, что список не может быть исчерпывающим (я уверен, что нечто может быть сезонным). Я видел другие вопросы здесь, где люди спрашивают "Что посмотреть во время посещения х", ответы были достаточно подробны. Я не мог найти любые вопросы здесь, на Мальте, поэтому я думал, что это будет правильным спросить. Я использую его, чтобы эхо-сообщений JSON приходит от сервера. И есть сообщения, которые достигают более 1,5 МБ каждая. Сообщения я не могу контролировать. Они принадлежат к 3-й партии API

Ну, основываясь на том, что вы показываете, мне удалось расколоть его довольно надежно, но есть серьезная проблема с этим сведения: это не нормально. У вас есть гуманные ценности здесь - это не хорошо. Например, МБ и ГБ различия между первой и последней линии обработки, что это много лишней работы не надо было делать - почему бы просто не байт? А что случилось с ([ч]:[мм]) вещь - почему в первой строке, а не в последней строке, и почему не Unix время?

Честно говоря, это не тип данных, вы должны быть на все - это не очень полезно. Конечно, это проще для вас, чтобы читать, но ты будешь читать 10,000 строк? Я думаю, что вы не хотите и поэтому вы задали этот вопрос. Вам нужно изменить, что выход - не получаю писем, только байт и секундах с начала эпохи. Сделать это, и это будет намного легче.

Теперь, что сказал, Вот что я сделал сделать:

комплект -- $(
ООО '$бл;1ч;д;:л;х;г
 с/([1-9][^)]*) //;ч
 с/\н/во-первых:& /
 С/[^:]\(\П\)/И последний:\1 /
 Вт /Дев/ФД/2
 г' <<данные\
1931255808 Б 1,8 ГБ 3683.6 сек (1:01 сек) 524289 б/с 512.00 КБ/с
2560401408 Б 2.4 ГБ 4883.6 сек (1:21 ч) 524289 б/с 512.00 КБ/с
3189547008 Б 3.0 ГБ 6083.6 сек (1:41 ч) 524289 б/с 512.00 КБ/с
3818692608 Б 3,6 ГБ 7283.6 с (2:01 сек) 524289 б/с 512.00 КБ/с
4447838208 Б 4.1 ГБ 8483.6 с (2:21 ч) 524289 б/с 512.00 КБ/с
10829824 Б 10.3 Мб 20.65 с 524487 б/с 512.19 КБ/с
Данные
)

Что первая седьмая строка-все это берет, чтобы получить только первый и последние строки и положить их в той же схеме пространство для СЭД редактирования, каждому из них предшествует ewline характер. Это заявление делает все это:

$бл;1ч;д;:л;х;г

Следующая строка очищает, что веселое время это дело из данных, которая является частью проблемы - сохраняет дополнительную копию результатов в чСтарая площадь:

с/([1-9][^)]*) //;ч

В следующих трех строках вставить слова первого: и последнее: после \пewline и <> вкладка символы перед их соответствующих линий и записывать результаты в стандартный вывод:

 с/\н/во-первых:& /
 С/[^:]\(\П\)/И последний:\1 /
 Вт /Дев/ФД/2

Последняя седьмая линия гЭЦ, что второй экземпляр из ч.старые места и перезаписывает текущий шаблон пространство, которое СЭД затем следует с его действием по умолчанию для печати окончательный рисунок пространства с последующим ewline. Результаты, на данный момент, это, конечно, не впечатляет. Выполнив выше немного скрипт будет выводить только следующее:

Первый:
 1931255808 Б 1,8 ГБ 3683.6 с 524289 б/с 512.00 КБ/с
Последнее:
 10829824 Б 10.3 Мб 20.65 с 524487 б/с 512.19 КБ/с

Но я намеренно установить результаты в оболочку массива и сохранили обе линии доступны в СЭДс рисунком космос для разума. Например, после этой последней г линии в СЭД - если ты хочешь - ты можешь работать с рисунком пространство, которое выглядит так:

\n1931255808 Б 1,8 ГБ 3683.6 с 524289 б/с 512.00 кб/сек\n10829824 Б 10.3 Мб 20.65 с 524487 б/с 512.19 КБ/с$ 

Или, если вы оставили его как есть и добавляется только после того, что уже есть...

строка функции printf '%с полей 1 и 2: %S и %S' \
 ПЕРВЫЙ "$1" "$2" В ПРОШЛОМ "${11}" "${12}"

Ваш вывод должен выглядеть так:

Первая линия, поля 1 и 2: 1931255808 и Б
Последние строки полей 1 и 2: 10829824 и Б

Это в дополнение к поток stderr выход это уже обеспечивает.