Tengo algunos archivos de tamaño> 1 GB cada uno. Necesito eliminar los últimos bytes de los archivos. ¿Cómo puedo hacerlo? Prefiero editar el archivo en su lugar para ahorrar espacio en disco.
Estoy en HP-UX.
files
editors
hp-ux
large-files
Hemant
fuente
fuente
vim
tiene un límite de 4G (podría estar equivocado) pero no creo que lo haga en su lugar (podría estar equivocado).Respuestas:
Intenta usar hexedit No lo he probado en HP-UX pero debería funcionar. Le permite moverse a una ubicación en un archivo y truncar. Estoy bastante seguro de que no lee todo el archivo sino que solo busca la ubicación adecuada para su visualización.
El uso es bastante simple una vez que lo ha lanzado, las teclas de flecha le permiten moverse. F1 da ayuda. Ctrl-G se mueve a una ubicación en el archivo (pista: para mover hasta el final use el tamaño del archivo desde la fila inferior de la pantalla). Coloque el cursor en el primer byte que desea truncar y luego presione Escape T una vez que confirme que el truncamiento se habrá realizado. Ctrl-x sale.
fuente
Corte 2 kilobytes desde el final del archivo:
fuente
Puedes usar dd por ejemplo:
fuente
Use una herramienta que le permita acceder a la
truncate
llamada del sistema. Puede hacerlo solo con las herramientas POSIX. Advertencia, escrita en un navegador; tenga especial cuidado ya quedd
es aún más implacable de errores que el comando habitual de Unix. 123456 es el número de bytes a mantener.Una versión de Perl es mucho más legible:
fuente
Puede usar
split
oed
,awk
o cualquier lenguaje de programación.fuente