
Accidentalmente distribuí una línea a /etc/crontab en muchos servidores y noté que hay un error tipográfico en esta línea y necesito cambiarla en todos los servidores.
Respuesta1
Otra opción es corregir el error tipográfico en lugar de simplemente eliminar la última línea.
sed -i '$ s/typotext/correcttext/ /var/spool/cron/user
Debería poder editar los archivos crontab directamente para versiones más nuevas de cron, ya que verifica los cambios minuciosamente.
Respuesta2
Si su sed admite la edición in situ, entonces,
sed -i '$d' file
de lo contrario, necesitarás usar un comando compuesto como,
cat file | sed '$d' > newfile; mv newfile file
Respuesta3
usarhead
user@host$ cat <<EOF > test.txt
1
2
3
4
EOF
user@host$ head -n -1 test.txt | sponge test.txt
user@host$ cat test.txt
1
2
3
user@host$
Respuesta4
Consulte este artículo del foro en unix.com para obtener la respuesta:
http://www.unix.com/shell-programming-scripting/25027-delete-last-line.html
sed -e '$d' archivo.entrada > archivo.salida
o
cabeza -$(( wc -l file | awk '{print $1}'
- 1)) archivo