【发布时间】:2016-02-18 23:54:47
【问题描述】:
我正在尝试将大约 100 个 CSV 复制到 PostgreSQL 数据库中。 CSV 没有完美地为数据库形成,所以我必须做一些编辑,我试图通过管道即时进行。
因为每个 CSV 文件都有一个表头,所以我需要删除第一行以防止表头作为一个实体被复制到数据库中。
我的尝试如下:
sed -e "s:\.00::g" -e "s/\"\"//g" *.csv | tail -n +2 | cut -d "," -f1-109 |
psql -d intelliflight_pg -U intelliflight -c "\COPY flights FROM stdin WITH DELIMITER ',' CSV"
我遇到的问题是它将*.csv 视为单个文件,并且只删除它看到的第一个文件的第一行,而保留其余文件。
我怎样才能删除*.csv 通配符检索到的每个文件的第一行?
【问题讨论】: