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