LINUX.ORG.RU

grep sed awk - помогите «вырезать» данные

 , , , ,


0

2

Добрый день, друзья!

Делаю: iotop -bkn1 | grep 'Total' результат:

Total DISK READ :       0.00 K/s | Total DISK WRITE :       0.00 K/s
 5404 be/4 root        0.00 K/s    0.00 K/s  0.00 %  0.00 % grep Total

Мне нужно вырезать отсюда 0.00 B/s два значения (read write) т.е. просто выводить 2 числа рядом «0.00 0.00» Или два скрипта в кажом по значению.

Помогите пожалуйста, заранее благодарен!



Последнее исправление: beastie (всего исправлений: 1)

Quick'n'dirty:

sudo iotop -bkn1 | awk '/^Total/ { print $5, $12 }'

beastie ★★★★★
()
Ответ на: комментарий от evilface

Просто не знал, что там в первой строке iotop'a и решил сначала посмотреть, а потом забил на оптимизацию, написав экстрактор.

Вот более выёбистый вариант:

iotop -bkn1 | perl -nle '$, = " "; print /(\d+\.\d+)/g; last'

Ну, и не фан позиционных аргументов, если честно.

anonymous
()
Ответ на: комментарий от anonymous

У меня в перле мало практики, так что не вспомнил как задать разделителей полей для вывода, поковырялся с попытками сделать подобное и забил.

Ещё что-то такое в голову пришло:

 iotop -bkn1 | perl -lpe '$_ = $. == 1 ? join(" ", /(\d+\.\d+)/g) : last'

evilface ★★
()

кстати, что-то такое про диски слышал, просто предупредить хочу,
не знаю как iotop данные считывает, но вот smartctrl мы можем даже температуру диска считать и вот меня когда-то самого предупреждали что лучше smartctrl часто не запускать во время работы диска, на нем это плохо сказаться может, ошибки и прочее...

NK ★★★★★
()
Ответ на: комментарий от NK

Насколько я понимаю, iotop работает не с диском, а с частями ОС, отвечающими за планирование i/o.

evilface ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.