Usé el siguiente comando en el bash para eliminar las dos últimas líneas de bash.bashrc (agregué algunas líneas malas): sed "69,70d" /etc/bash.bashrc
Pero no borra las líneas permanentemente como quisiera.
Respuestas
0 para la respuesta № 1Una solución es usar head -n -<n>
en combinación de tee
.
A pesar de que head
no soporta en lugar de edición que es compatible en sed -i
, usted puede lograr en lugar de edición usando tee
mando.
Ver: El comando sed buscar y reemplazar en archivo y sobrescribir archivo no funciona, vacía el archivo
head -n -2 /etc/bash.bashrc | sudo tee /etc/bash.bashrc >/dev/null
0 para la respuesta № 2
Esto debería funcionar para eliminar las dos últimas líneas:
sed -n -e :a -e "1,2!{P;N;D;};N;ba" /etc/bash.bashrc
Y luego si lo entiendes | cat > /etc/bash.bashrc
sobrescribirá el archivo con el nuevo contenido acortado:
sed -n -e :a -e "1,2!{P;N;D;};N;ba" /etc/bash.bashrc | cat > /etc/bash.bashrc