首页 > 解决方案 > 使用 sed 将标题批量插入 CSV 文件

问题描述

我现在有大约 210 个 csv 文件,大小都在 28kb 左右,它们需要标题。我正在尝试sed在 iMac 的终端上使用来完成此操作,但效果不佳。

我的命令的基本结构是:

sed '1 i\First Name,Last Name,Position,Company Name,Street Address,City,State,Zip Code,Phone Number,Cell Phone,Website,Email,Deal Name,Deal Stage,Deal Pipeline,Amount,Contact Owner,Deal Owner'/Users/me/Desktop/list/xab.csv

它正在吐出: sed: 1: "1 i\First Name,Last Nam ...": extra characters after \ at the end of i command

我还尝试定义备份文件的扩展名: sed '1 i ".bak"\First Name,Last Name,Position,Company Name,Street Address,City,State,Zip Code,Phone Number,Cell Phone,Website,Email,Deal Name,Deal Stage,Deal Pipeline,Amount,Contact Owner,Deal Owner'/Users/me/Desktop/list/xab.csv

满足以下条件: sed: 1: "1 i " "\First Name,Last ...": command i expects \ followed by text

所以,我被困住了。有任何想法吗?

标签: sedterminal

解决方案


使用 GNU Sed:

sed -i.backup '1 i\your,header,goes,here' /path/*.csv

/path/*.csv是一个Glob,Bash 将扩展它以匹配所有以 ./path结尾的文件.csvAlt您可以使用+ *(默认情况下)在命令行上测试 glob 扩展


推荐阅读