Você precisa detectar que atingiu o fim do arquivo usando eof :
perl -p -i -e 'eof && s/$/WORD/;' file
Eu uso o seguinte perl uma linha para anexar o WORD no final da última linha do arquivo
perl -p -i -e 's/$/WORD/;' file
Mas é anexar a PALAVRA em todas as linhas -
Como consertar a sintaxe do perl para anexar o WORD somente na última linha do arquivo
exemplo
more file
AAAAA BBB
WWWWW
EEEEE WORD
Você precisa detectar que atingiu o fim do arquivo usando eof :
perl -p -i -e 'eof && s/$/WORD/;' file
Veja um equivalente usando sed
:
sed -ie '$s/$/WORD/' file
Basta adicionar o sinalizador -0
:
perl -0pie 's/$/WORD/' file
Eu nunca usaria -i
sem uma extensão adicional.
Se o seu Perl não fizer o que você pretendia, sua entrada será perdida.
A propósito, ;
não é um terminador de instrução em Perl, mas um separador de instrução.
perl -i.orig -0pe 's/$/WORD/' file
Outro idioma útil para testes:
perl -0pe 's/$/WORD/' file | diff file -
Tags perl