Eu tenho alguns arquivos com tamanho> 1 GB cada. Preciso remover os últimos bytes dos arquivos. Como eu posso fazer isso? Prefiro editar o arquivo no local para economizar espaço em disco.
Estou no HP-UX.
files
editors
hp-ux
large-files
Hemant
fonte
fonte
vim
tem um limite de 4G (pode estar errado), mas não acho que ele funcione (pode estar errado).Respostas:
Tente usar o hexedit Não tentei no HP-UX, mas deve funcionar. Permite mover para um local em um arquivo e truncar. Tenho certeza de que ele não lê o arquivo inteiro, mas apenas busca o local apropriado para exibição.
O uso é bastante simples depois que você o lança, as teclas de seta permitem que você se mova. F1 dá ajuda. Ctrl-G move para um local no arquivo (dica: para mover para o final, use o tamanho do arquivo na linha inferior da tela). Posicione o cursor no primeiro byte que você deseja truncar e pressione Escape T depois de confirmar que o truncado foi concluído. Ctrl-x sai.
fonte
Corte 2 kilobytes do final do arquivo:
fonte
Você pode usar o dd, por exemplo:
fonte
Use uma ferramenta que lhe dê acesso à
truncate
chamada do sistema. Você pode fazer isso apenas com ferramentas POSIX. Aviso, digitado em um navegador; tenha um cuidado especial, poisdd
é ainda mais implacável com os erros do que o comando unix usual. 123456 é o número de bytes a serem mantidos.Uma versão Perl é muito mais legível:
fonte
Você pode usar
split
oued
,awk
ou qualquer linguagem de programação.fonte