【发布时间】:2017-11-02 00:03:10
【问题描述】:
我有以下简单的 csv 文件:
sno, name , age, gender
1 , abc, 30, M
2 , xyz, 60, F
3, def, 30, M
我想使用 awk 来查找给定列的平均值。我试过以下代码:
command -nargs=1 Colmean %!awk -F',' '{ total += $<args>} END { print total/(NR-1)}'
按如下方式使用:
:Colmean 3
但是,参数 '3' 没有被传递给 awk 命令。使用双引号代替单引号也不起作用。
问题出在哪里,如何解决?谢谢。
【问题讨论】:
-
为什么要在编辑器中而不是简单地从命令行执行此操作?
-
或许更简单,边看文件边分析。
-
使用 Excel 或类似工具会更容易、更清晰。只是说......
-
你的命令非常适合我。您是否尝试过不使用插件:
$ vim -Nu NONE?你的 awk 命令在 Vim 之外工作吗?直接在 Vim 的命令行模式下? -
是的,它在使用
-Nu NONE选项运行时有效。可能是什么原因?什么样的设置可能会导致此错误?