Вы знакомы с sar
?
Вы можете попробовать sar -n ВСЕ
, чтобы получить всю возможную сетевую статистику, или если вам нужна статистика rx и tx для каждого сетевого устройства, каждую секунду - попробуйте следующее:
sar -n DEV 1
Для 5-секундной средней величины rx и tx для eth0 (например) сделайте:
sar -n DEV 1 5 | grep -i eth0 | tail -n1 | awk '{print $5, $6}'
Лично я бы сделал все это на Perl:
$ perl -00ne '/^(Student_\d+)/ && $count{$1}++;
/Name:\sA/ && $As++;
/Status:\s*Pass/ ? $pass++ : $fail++;
END{
print "$_ : $count{$_}\n" for keys(%count);
print "Pass: $pass\nFail:$fail\n";
print "Student names starting with A: $As\n"
}' file
Student_2 : 1
Student_1 : 1
Student_50 : 1
Pass: 2
Fail:2
Student names starting with A: 2
Если вы настаиваете на отдельных командах для каждой операции, вы можете использовать:
$ awk '/^Student_/{a[$0]++} END{for(s in a){print s,a[s]}}' file
Student_1 1
Student_2 1
Student_50: 1
$ perl -ne '$pass++ if /:\s*Pass/; $fail++ if /:\s*Fail/;
END{print "Pass: $pass\nFail: $fail\n"}' file
Pass: 2
Fail: 2
$ echo "Student names starting with A: $(grep -c "^Name:\s*A" file )"
Student names starting with A: 2