Tôi có một tệp chứa các dòng N * 10, mỗi dòng chứa một số. Tôi cần tổng hợp 10 dòng và sau đó in ra mức trung bình cho mỗi nhóm như vậy. Tôi biết nó có thể làm được trong awk
, tôi không biết làm thế nào.Cách tính tổng 10 dòng và tính trung bình bằng AWK?
9
A
Trả lời
14
Hãy thử một cái gì đó như thế này:
$ cat input
1
2
3
4
5
6
2.5
3.5
4
$ awk '{sum+=$1} (NR%3)==0{print sum/3; sum=0;}' input
2
5
3.33333
(Thích ứng cho khối 10-line, rõ ràng.)
1
Có thể là một cái gì đó như thế này -
[jaypal:~/Temp] seq 20 > test.file
[jaypal:~/Temp] awk '
{sum+=$1}
(NR%10==0){avg=sum/10;print $1"\nTotal: "sum "\tAverage: "avg;sum=0;next}1' test.file
1
2
3
4
5
6
7
8
9
10
Total: 55 Average: 5.5
11
12
13
14
15
16
17
18
19
20
Total: 155 Average: 15.5
Nếu bạn không muốn tất cả các dòng được in sau đó sau đây sẽ làm việc.
[jaypal:~/Temp] awk '
{sum+=$1}
(NR%10==0){avg=sum/10;print "Total: "sum "\tAverage: "avg;sum=0;next}' test.file
Total: 55 Average: 5.5
Total: 155 Average: 15.5
Các vấn đề liên quan
- 1. awk tính toán trung bình hoặc không
- 2. tính trung bình sử dụng awk từ nhiều tệp
- 3. Datagrid: Tính trung bình hoặc tổng cho cột trong Footer
- 4. Tính trung bình trong Ruby
- 5. Tính trung bình trong C#
- 6. cách tính và sử dụng giá trị trung bình cvMat
- 7. Tính trung bình hàng ngày trong R
- 8. Rails 3 Tính toán Bản ghi Hoạt động: Tổng và Trung bình cùng một lúc
- 9. Cách tính trung bình có trọng số trong R?
- 10. Tổng hợp và có trọng số trung bình trong R
- 11. Tính trung bình di chuyển trong F #
- 12. Tính trung bình di chuyển trong C++
- 13. Trung bình của cột theo giờ (hàng) sử dụng awk
- 14. tính toán trung bình và phương sai với một lặp
- 15. Tính đếm và trung bình với MongoDB hợp
- 16. Tổng/Trung bình thuộc tính của danh sách đối tượng trong Python
- 17. Tính trung bình 2,3 phần tư trong SQL
- 18. tính tổng bằng PHPExcel
- 19. Cách tính giá trị màu rgb trung bình của bitmap
- 20. Tính trung bình của cột từ truy vấn MYSQL
- 21. cách tính trung bình từ mảng int2 sử dụng Thrust
- 22. Cách tính thời gian chờ trung bình và thời gian quay vòng trung bình trong lập lịch SJF?
- 23. Tính toán trung bình được rút gọn trong MySQL
- 24. Tính toán trung bình di chuyển theo thời gian
- 25. Tìm mức cao nhất, thấp nhất, tổng, trung bình và trung bình từ một mảng trong Ruby
- 26. Tính toán trung bình có trọng số trong MySQL?
- 27. Cách tính tổng và chia trong MySql
- 28. Tính trung bình hàng tháng của ts đối tượng
- 29. Tính trung bình có trọng số cho số lớn
- 30. Tính trung bình với LINQ mà không cần nhóm
Bạn có thể đã sử dụng 'seq' để loại bỏ đầu vào thử nghiệm:' seq 50 | awk '{sum + = $ 1} (NR% 10) == 0 {print sum/10; sum = 0;} '' – progo
Hm, nó dường như không hoạt động trong trường hợp của tôi. Thực tế là tôi đang làm việc trên các giá trị thập phân có bất cứ điều gì để làm với nó? – gablin
@gablin: những gì tôi đăng hoạt động tốt với các giá trị thập phân. – Mat