Tôi chắc chắn có một cách nhanh chóng và dễ dàng để tính tổng của một cột giá trị trên các hệ thống Unix (sử dụng một cái gì đó như awk
hoặc xargs
có lẽ), nhưng viết một kịch bản shell để phân tích các dòng hàng theo dòng điều hiện ra trong đầu.Lệnh ngắn nhất để tính tổng của một cột đầu ra trên Unix?
Ví dụ, cách đơn giản nhất để sửa đổi lệnh dưới đây để tính toán và hiển thị tổng số cho cột SEGSZ (70300) là gì?
ipcs -mb | head -6
IPC status from /dev/kmem as of Mon Nov 17 08:58:17 2008
T ID KEY MODE OWNER GROUP SEGSZ
Shared Memory:
m 0 0x411c322e --rw-rw-rw- root root 348
m 1 0x4e0c0002 --rw-rw-rw- root root 61760
m 2 0x412013f5 --rw-rw-rw- root root 8192
+1 .. đã xóa bản sao của tôi :-) – toolkit
Cảm ơn, rất hữu ích! Chạy lệnh đó, tôi nhận kết quả này: 6.59246e + 08. Bất kỳ cách nào để buộc awk để hiển thị giá trị chính xác (chứ không phải là ký hiệu khoa học)? –
Andrew, có một chức năng printf cho awk: http://www.gnu.org/software/gawk/manual/gawk.html#Printf –