2011-03-03 19 views
13

Quiero eliminar la última línea de un archivo en una condición en particular. Usé sed y cut pero solo funcionan en el flujo de salida, pero quiero hacer esto en el archivo. ¿Alguien me puede ayudar? Gracias de antemano.Eliminar la última línea de un archivo

Respuesta

23
sed -ie '$d' filename.txt 

La opción ised dice que editar el archivo en su lugar.

0

Siempre se puede hacer:

cat * > out 

Cuando usted podría quitar 'gato *' con lo que están haciendo, y al cabo es el resultado de ese comando.

Puedo darle un vistazo más completo si proporciona más información sobre lo que está tratando de hacer.

1

Voy a usar una variante en otra respuesta, y sugieren un uso sencillo de la disfunción eréctil:

ed tmp.tmp << EOC 
$ 
d 
w 
q 
EOC 

lo contrario se puede usar sed/cortar a un archivo temporal y mv para sobrescribir el archivo de inicio.

Cuestiones relacionadas