Мы записали наш дисковый массив в iostat, и теперь у нас есть текстовый файл размером 2 Мб.
Можно ли прочитать содержимое файла и каким-то образом отсортировать все вхождения с помощью php или bash?
У нас также есть доступ к оболочке, так что если вы командир-гуру, это тоже возможно.
Мы хотим прочитать и отсортировать следующую информацию в текстовом файле, по возрастанию, по некоторым из следующих r/s
, w/s
, kr/s
, kw/s
, qlen
, svc_t
или же %b
ценности.
Возможно или слишком сложно?
extended device statistics
device r/s w/s kr/s kw/s qlen svc_t %b
da0 11.5 14.0 701.8 530.1 0 7.3 11
extended device statistics
device r/s w/s kr/s kw/s qlen svc_t %b
da0 0.0 0.0 0.0 0.0 1 0.0 0
extended device statistics
device r/s w/s kr/s kw/s qlen svc_t %b
da0 0.0 10.5 0.0 350.8 0 139.2 145
Попробуйте отсортировать столбец 3 («w / s»):
(echo 'device r/s w/s kr/s kw/s qlen svc_t %b'; grep '[0-9]' file | sed 's/ \+/ /g' | sort -n -k 3,3 ) | column -t
или это для сортировки столбца 7 («svc_t»):
(echo 'device r/s w/s kr/s kw/s qlen svc_t %b'; grep '[0-9]' file | sed 's/ \+/ /g' | sort -n -k 7,7 ) | column -t
Выход с -k 7,7
:
устройство r / s w / s kr / s kw / s qlen svc_t% b da0 0,0 0,0 0,0 0,0 1 0,0 0 da0 11,5 14,0 701,8 530,1 0 7,3 11 da0 0,0 10,5 0,0 350,8 0 139,2 145
С awk
или же printf
возможно выровнять столбцы правильно.
Других решений пока нет …