
Distribuí acidentalmente uma linha para /etc/crontab em muitos servidores e percebi que há um erro de digitação nesta linha e preciso alterá-la em todos os servidores.
Responder1
Outra opção é corrigir o erro de digitação em vez de apenas excluir a última linha
sed -i '$ s/typotext/correcttext/ /var/spool/cron/user
Você deve ser capaz de editar os arquivos crontab diretamente para versões mais recentes do cron, pois ele verifica as alterações a cada minuto.
Responder2
Se o seu sed suportar edição no local, então,
sed -i '$d' file
caso contrário, você precisará usar um comando composto como,
cat file | sed '$d' > newfile; mv newfile file
Responder3
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$
Responder4
Veja este artigo do fórum em unix.com para obter a resposta:
http://www.unix.com/shell-programming-scripting/25027-delete-last-line.html
sed -e '$d' arquivo de entrada > arquivo de saída
ou
cabeça -$(( wc -l file | awk '{print $1}'
- 1)) arquivo