sed -n '149351p' dump.sql
pode ser ligeiramente mais rápido que combinações cabeça / cauda (mas talvez não). Vartec está correto; não há maneira mais rápida do que ler pelo menos as primeiras 149.351 linhas.
Estou tentando importar um arquivo de despejo MySQL grande e estou recebendo um erro consistente em uma determinada linha 149,351 (de 4207442). Eu gostaria de ver o que é essa linha.
A melhor maneira que encontrei para fazer isso é assim:
head -149351 dump.sql | tail
No entanto, isso é muito lento. Tentei carregar o arquivo em vi
, mas não consegui lidar com um arquivo tão grande. Eu estou no Windows XP e tenho o cygwin.
Você pode ver a linha individual com o seguinte comando:
tail -n+<line number> <file>|head -n1
no seu caso: tail -n + 149351 dump.sql | head -n1
Esse comando descarta o arquivo iniciando no número de linha 149351 e usa o comando head para exibir apenas a primeira linha dos resultados finais.
Eu recomendaria usar o comando split para dividir esse enorme despejo em partes mais gerenciáveis:
split -l20000 mysql.dump mysql.dump.
Irá criar arquivos com os nomes mysql.dump.aa, mysql.dump.ab, .... Cada arquivo conterá 20000 linhas - as ferramentas de edição devem ser capazes de lidar com esses pequenos arquivos facilmente!
Depois de corrigir o problema, recombine-os facilmente:
cat mysql.dump.* > mysql.dumptest
ou
cat mysql.dump.* | mysqlimportcommand
Eu geralmente só ligo TextPad , mesmo em arquivos de 1GB.
Ctrl + G é o menu Ir para, no qual você pode escolher o número da linha.
Se as linhas são de comprimentos variáveis, realmente não há um caminho mais rápido, então escaneie pelo primeiro 149351 (que é exatamente o que você faz com " head
").
Surpreso, ninguém sugeriu:
grep -n 149351 dump.sql
Desde suas janelas estou surpreso que ninguém sugeriu
get-content -readcount 0 | select-object-index 149350
Certamente, no vi, você pode definir o número da linha usando:
:set number
e depois vá para a linha 149351 usando:
:149351
alternativamente, você pode iniciar o vi em um número de linha específico usando:
vi +36 blah
espero que ajude ...
Abra-o com nano
(com -w) e, quando abrir, clique em CTRL _
e digite o número da linha para ir.
Tags dump