使用移动窗口bash脚本中位数



我需要创建一个文件txt,其中包含更改的中值列表如果我有一个文件:

  1. 1
  2. 2
  3. 35
  4. 40
  5. 50

我想要

之类的输出
  1. 1
  2. 1.5
  3. 2
  4. 18.5
  5. 35

我尝试从我的输入文件中拾取一个数字,然后使用排序,但我没有走远。我希望我能使自己清晰,谢谢!

您可以使用尴尬实现这一点。例如,当您将数据放在名为 in.txt的文件中:

 awk '{c[NR]=$1; asort(c); if (NR%2) {print c[(NR+1)/2]} else {print (c[(NR/2)]+c[(NR/2)+1]) / 2.0}}' < in.txt

导致输出

1
1.5
2
18.5
35

相关内容

  • 没有找到相关文章

最新更新