我正在使用如下所示的 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
。