如何为大图表中的每一行计算一行的中位数

How to calculate the median of a row, for each row in a large chart

我在想 awk 可以做到这一点,我也可以使用 unix 或 perl,如果它们也能工作的话

说我的图表是这样的

5 6 3 38 20 3 94 8 20
7 56 3 59 38 20 38 7 13
39 20 2 4 19 20 49 17 20

然后我希望它打印每个赞的中位数

8
20
20

谢谢

你可以这样做:

$ awk '{split([=10=],a);asort(a);mid=int(NF/2);NF%2!=0?median=a[mid+1]:median=(a[mid]+a[mid+1])/2;print median}' file.txt
8
20
20