divida um banco de dados de texto grande (xyz) em x partes iguais

Eu quero dividir um grande banco de dados de texto (~ 10 milhões de linhas). Eu posso usar um comando como

$ sed -i -e '4 s/(dB)//' -e '4 s/Best\ unit/Best_Unit/' -e '1,3 d' '/cygdrive/c/                                                                                                                      Radio Mobile/Output/TRC_TestProcess/trc_longlands.txt'

$ split -l 1000000  /cygdrive/P/2012/Job_044_DM_Radio_Propogation/Working/FinalPropogation/TRC_Longlands/trc_longlands.txt 1

A primeira linha é limpar o banco de dados e a próxima é dividi-lo - mas os arquivos de saída não têm os nomes dos campos. Como posso incorporar os nomes dos campos em cada conjunto de dados e enviar uma lista com o arquivo original, o novo nome do arquivo e os números de linha (do arquivo original). Isso pode ser usado no modelo arcgis para reunir novamente os conjuntos de dados finais de polígonos simplificado

LTERNATIVAMENTE E MAIS ÚTIL - Como isso precisa entrar em um modelo arcgis, uma solução baseada em python é a melhor. Mais detalhes estão emhttps: //gis.stackexchange.com/questions/21420/large-point-to-polygon-by-buffer-join-buffer-dissolve-issues#comment29062_2142 eRemova linhas específicas de um arquivo de texto grande em python

SOI COM UMA SOLUÇÃO Python baseada em CYGWIN, conforme resposta de icyrock.com

we process_text.sh

cd  /cygdrive/P/2012/Job_044_DM_Radio_Propogation/Working/FinalPropogation/TRC_Longlands
mkdir processing
cp trc_longlands.txt processing/trc_longlands.txt
cd txt_processing
sed -i -e '4 s/(dB)//' -e '4 s/Best\ unit/Best_Unit/' -e '1,3 d' 'trc_longlands.txt'
split -l 1000000  trc_longlands.txt trc_longlands_
cat > a
h
1
2
3
4
5
6
7
8
9
^D
split -l 3
split -l 3 a 1
mv 1aa 21aa
for i in 1*; do head -n1 21aa|cat - $i > 2$i; done
for i in 21*; do echo ---- $i; cat $i; done

how "TRC_Longlands" e o caminho podem ser substituídos pelo nome do arquivo de entrada - em python, temos% path% /% name para isso. na última linha "echo" é necessário?

e isso é chamado por python usando

import os
os.system("process_text.bat")

onde process_text.bat é basicamente

bash process_text.sh

Recebo o seguinte erro ao executar a partir dos ...

Microsoft Windows [Versão 6.1.7601] Copyright (c) 2009 Microsoft Corporation. Todos os direitos reservados

C: \ Users \ georgec> bash P: \ 2012 \ Job_044_DM_Radio_Propogation \ Working \ FinalPropogat \ TRC_Longlands \ process_text.sh 'bash' não é reconhecido como um comando interno ou externo, programa operacional ou arquivo em lotes.

também quando executo o comando bash do cygwin -Eu recebo

georgec @ ATGIS25 / cygdrive / P / 2012 / Job_044_DM_Radio_Propogation / Working / FinalPropogation / TRC_Longlands $ bash process_text.sh: Esse arquivo ou diretório: / cygdrive / P / 2012 / Job_044_DM_Radio_Propogation / Working / FinalCopyright não pode ser encontrado `processing / trc_longlands.txt \ r ': Esse arquivo ou diretório não existe: Não existe esse arquivo ou diretório: txt_processing: Não existe esse arquivo ou diretóriods.txt

mas os arquivos são criados no diretório rai

por que existe um "." depois do nome do diretório? como eles podem receber uma extensão .txt?

questionAnswers(2)

yourAnswerToTheQuestion