如何更改大型文本文件中的几个字符

如何更改大型文本文件中的几个字符

我有一个大文件file.dat,一个 CSV 格式的数据库转储,如下所示:

file_id,line_id,st_x,st_y,value1,value2,...value100
111111,1,22.22222,33.33333,0.1234567,0.246890,0.369258,...
.....

它有几百万行。

突然我意识到我想改变列的名称:st_x改为lonst_ylat

仅在我的计算机上复制文件就需要一些时间,比如说T_copy几秒钟。

使用编辑文件

sed -i 's/st_y/lat/' file.dat

需要T_sed几秒钟T_sed ~ 1.7 T_copy

有没有更快的方法?如果替换字符串必须具有与目标字符串相同的字符数,我不会介意。

笔记:我确信这个问题以前已经被问过,只是不知道如何找到它。

答案1

我建议使用午夜指挥官的查看器(F3 或 mcview)查看该文件,然后

  • F4(十六进制),
  • F2(编辑),
  • 按下Tab可将光标跳转到查看器的文本列,
  • 将光标定位到要覆盖的字符上,然后输入新值,用空格填充旧值的剩余部分,
  • 按下F6(保存)
  • F10(退出)

相关内容