LINUX.ORG.RU
ФорумAdmin

суммировать значения в последнем столбце


0

0

народ помогите решить простую задачку.

у меня есть output некой комманды (qstat - если вдруг спросите, какой) задача - суммировать значения стоящие в последнем столбце.

я вообщето сам сделал - написал тупой скрипт на перле. но перл и скриптинг вообще я знаю очень плохо - тока начал. и выглядит он поэтому убого. и состоит - страх сказать - из 30 строк.

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

спсб.

anonymous

Ну так выкладывайте свой вариант. Обсудим, поможем...

ovax ★★★
()

Если не принципиально на чем делать, то man awk

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

>>> qstat | awk '{sum+=$NF} END{print sum} 
этот способ подойдет только если числа в последнем столбце есть в каждой строке. 
1 1
2 2
3 4
  =
  7
и
1 1
2 
3 4
  =
все равно 7

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

Если знаешь номер столбца то вот так:
qstat | awk '{sum+=$2} END{print sum} 

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

По условию надо считать ПОСЛЕДНИЙ столбец, он и считается.
Иначе надо пройтись по файлу и найти номер последнего столбца и уже после этого считать по приведенному тобой примеру.

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

мой вариант приводить не буду ибо 30 строк и все тупо. ине стыдно )).

он берет output пишет его в файл, потом сканирует файл по строкам, и складывает последний столбец. а в конце удаляет файл :)

правильно было отмечено - надо именно последний столбец, потому что в разных строках разное кол-во столбцов.

спасибо за советы.

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