![如何将假脱机拆分为较小的 csv 文件](https://linux22.com/image/94061/%E5%A6%82%E4%BD%95%E5%B0%86%E5%81%87%E8%84%B1%E6%9C%BA%E6%8B%86%E5%88%86%E4%B8%BA%E8%BE%83%E5%B0%8F%E7%9A%84%20csv%20%E6%96%87%E4%BB%B6.png)
我正在使用如下所示的 shell 脚本将特定表的两列(字段)假脱机到 csv 文件中,如下所示:
#!/usr/bin/bash
FILE="emp.csv"
sqlplus -s scott/tiger@XE <<EOF
SET PAGESIZE 50000
SET COLSEP ","
SET LINESIZE 200
SET FEEDBACK OFF
SPOOL $FILE
SELECT name,city FROM EMP;
SPOOL OFF
EXIT
EOF
但生成的 csv 文件变得太大,我的编辑器无法打开。有什么方法可以将记录拆分为多个较小且可以打开的 csv 文件吗?我可以使用一些计数器,以便当它超过特定值时,数据会被假脱机到另一个文件吗?
答案1
cat emp.csv | split -l 6000
将创建一堆小文件:在本例中为 6000 行长。默认值为xaa
、xab
等,但您可以更改它:请参阅 的手册页split
。