csv - 使用 VIM 从第 4 列之后的 csv 中删除所有数据

标签 csv vim

我有一个非常大的 20k+ 行 csv 文件。我只想保留前 3 列并删除其余列。我的分隔符是 |

下面是我的数据示例。如何在 vim 中轻松做到这一点?我正在考虑只做一个可视 block 模式并像那样删除它,但我可能会不小心删除真实数据。我只需要 vim 检测分隔符并在第三个分隔符后删除。

有哪些 vim 配方?

enter image description here

最佳答案

对文本文件中的所有行使用普通命令。

:%正常! 3f|D

  • % 用于缓冲区中的所有行
  • normal! 应用普通命令(从该行的第一列开始)
  • 3f| 找到第三次出现的|
  • D 从当前光标位置删除到行尾。

关于csv - 使用 VIM 从第 4 列之后的 csv 中删除所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46332279/

相关文章:

python - 你如何使用 Elixir 解析 150g csv 文件? shell ? SQL数据库?

vim - 如何列出VIM的NERDTree中的所有书签?

vim - 设置环境 - $GOPATH

vim - 更改 NERDTree 中的根

vim - 在 VIM 中猛拉某个区域而不将光标移动到 block 的顶部?

csv - CSV 文件中空行的含义

php - 将 MYSQL 结果导出到 CSV

macos - 更新 Mac OS X 上的内置 vim

python - 如何使用 Python 的内置 .csv 编写器模块替换列?

Javascript 停止一个事件