como dividir o spool em arquivos csv menores

0

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?

    
por private ryan 08.09.2016 / 04:38

1 resposta

2

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 .

    
por 15.05.2017 / 15:50

Tags