Eu tenho arquivos muito grandes (mais de 10 GB). Eu preciso apenas de algumas linhas da parte superior do arquivo. É possível (no vim) excluir o restante do arquivo (da linha atual até o final do arquivo)?
Eu tenho arquivos muito grandes (mais de 10 GB). Eu preciso apenas de algumas linhas da parte superior do arquivo. É possível (no vim) excluir o restante do arquivo (da linha atual até o final do arquivo)?
Respostas:
dG excluirá da linha atual até o final do arquivo
dCtrl+ Endexcluirá do cursor até o final do arquivo
Mas se esse arquivo for tão grande quanto você diz, é melhor ler as primeiras linhas com, em head
vez de editar e salvar o arquivo.
head hugefile > firstlines
(Se você estiver no Windows, poderá usar a porta Win32 de head
)
head
fornecidas, por exemplo: head -n20 hugefile
para as primeiras 20 linhas. o padrão de n é 10.
head
? O uso de dG em um arquivo grande (1G +) leva muito tempo (por exemplo, 5 minutos).
dgg
será excluído da linha atual até o início do arquivo.
Vá para a primeira linha da qual você deseja excluir e pressione as teclas dG
:.,$d
Isso excluirá todo o conteúdo da linha atual até o final do arquivo. Isso é muito útil quando você está lidando com geração ou remoção de vetores de teste.
:<line number>,$d
por exemplo: :3,$d
excluirá da linha 3 até o final do arquivo
head -n <number_of_lines> <filename> > <truncated_filename>
Onde-n
é o parâmetro para o número de linhas que você quiser a partir do topo