编辑大文本文件的第一行

lyn*_*nks 17 linux bash grep sed textfiles

我有一个巨大的文本文件,它太大了,无法将整个文件分页到内存中。我需要对这个文本文件做的就是编辑第一行(它是一个 CSV 文件,我需要更改标题)。

有没有一种简单的方法可以在 bash 中做到这一点?

lau*_*ent 23

您可以使用less来查看要编辑的内容并用于sed进行更改。这样您就可以在不加载整个文件的情况下进行编辑。

另一种方法是拆分文件,编辑并再次加入:

split -b 10000k <file>

and to join:

cat xa* > <file>
Run Code Online (Sandbox Code Playgroud)

  • sed 需要花费数小时来运行整个文件(不到半 TB),更改仅在第一行,将其拆分似乎是明智的。 (5认同)