it-swarm-es.tech

¿Cómo puedo editar un archivo grande en su lugar?

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.

18
Hemant

Intente 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, solo busca la ubicación adecuada para mostrarlo.

El uso es bastante simple una vez que lo ha iniciado, las teclas de flecha le permiten moverse. F1 da ayuda. Ctrl-G se mueve a una ubicación en el archivo (pista: para mover al final, use el tamaño del archivo de 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 se habrá truncado. Ctrl-x sale.

10
Richm

Corta 2 kilobytes desde el final del archivo:

truncate -s-2K file
14
Maciej Piechotka

Puede usar dd por ejemplo:

dd if=yourfile of=outname bs=4k count=thefirstX4kb
6
maxschlepzig

Utilice una herramienta que le dé acceso a la llamada al sistema truncate. Puede hacerlo solo con herramientas POSIX. Advertencia, escrito en un navegador; tenga especial cuidado ya que dd es aún más implacable con los errores que el comando habitual de Unix. 123456 es el número de bytes que se deben conservar.

dd if=/dev/null of=/file/to/truncate seek=1 bs=123456

Una versión de Perl es mucho más legible:

Perl -e 'truncate "$ARGV[0]", 123456 or die $!' /file/to/truncate

Puede usar split o ed, awk o cualquier lenguaje de programación.

1
Mircea Vutcovici