cat emp.csv | split -l 6000
irá criar um monte de pequenos arquivos: neste caso, 6000 linhas de comprimento. O padrão é xaa
, xab
e assim por diante, mas você pode mudar isso: veja a página de manual para split
.
Estou usando um script de shell como o seguinte para colocar em spool duas colunas (campos) de uma tabela específica em um arquivo csv da seguinte forma:
#!/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
Mas o arquivo csv resultante está se tornando muito grande para o meu editor abrir. Existe alguma maneira pela qual eu possa dividir os registros em vários arquivos csv que são menores e podem ser abertos? Posso usar algum contador para que, quando exceder um valor específico, os dados sejam colocados em spool em outro arquivo?
cat emp.csv | split -l 6000
irá criar um monte de pequenos arquivos: neste caso, 6000 linhas de comprimento. O padrão é xaa
, xab
e assim por diante, mas você pode mudar isso: veja a página de manual para split
.