bash - 在csv文件中插入一行

标签 bash shell sed awk terminal

我有一个巨大的 csv 文件(以 TB 为单位)。

现在,我想在顶部插入一行作为标题。

例如,如果 input.csv 看起来像这样:

 1,2,3,4
 22,3,23,1

我希望它看起来像

id1,id2,id3,id4
 1,2,3,4
 and so on

我如何从 shell、终端、awk、bash 执行此操作?/

最佳答案

到位,使用 sed:

sed -i 1i"id1,id2,id3,id4" file.csv

编辑:

正如@Ed Morton 指出的那样,将 sed 与 -i 开关一起使用 sed 会就地编辑文件,因此在编辑大文件时可能很危险。如果您在 -i 选项后提供前缀,则 sed 会创建一个备份。所以这样的事情会更安全:

sed -i.bak 1i"id1,id2,id3,id4" file.csv

原始文件将位于 file.csv.bak

关于bash - 在csv文件中插入一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13402809/

相关文章:

bash - 在 MongoDB 查询中使用 shell 变量

bash - 为什么在管道中读取和写入同一文件会产生不可靠的结果?

bash - 脚本退出后执行后台进程

linux - 如何在后台运行使用shell的linux应用程序?

shell - awk 操作csv文件

macos - 如何通过 bash shell 设置代理?

python - 从文件中随机抽取行

bash - 使用 bash (sed/awk) 提取 CSV 文件中的行和列?

linux - 为什么我有时需要在 sed 中转义 ()

linux - 跳过前 100 行而不是在 bash 中开始计数