Como localizar e substituir apenas uma palavra específica (que está no final do arquivo) usando o comando shell?

0

Arquivo1:

Dms 01.01.2015 feeder1 6kv close at 04:30  
Updated  
Dms 01.01.2015 feeder1 6kv open at 06:20  
Updated  
Dms 04.02.2015 feeder10 6kv close at 17:23  
Updated  
Dms 04.02.2015 feeder12 6kv open at 23:30  
Updated  
Dms 12.04.2015 feeder4 6kv disturb at 12:30  
Updated  
Dms 12.04.2015 feeder7 6kv close at 11:09  
Updated  
Dms 16.05.2015 feeder8 6kv open at 13:10  
Updated  
Dms 01.06.2015 feeder3 6kv close at 05:07  
Updated

A saída será:

Dms 01.01.2015 feeder1 6kv close at 04:30  
Updated  
Dms 01.01.2015 feeder1 6kv open at 06:20  
Updated  
Dms 04.02.2015 feeder10 6kv close at 17:23  
Updated  
Dms 04.02.2015 feeder12 6kv open at 23:30  
Updated  
Dms 12.04.2015 feeder4 6kv disturb at 12:30  
Updated  
Dms 12.04.2015 feeder7 6kv close at 11:09  
Updated  
Dms 16.05.2015 feeder8 6kv open at 13:10  
Updated  
Dms 01.06.2015 feeder3 6kv close at 05:07  
EOF

Eu quero alterar apenas o último Atualizado para EOF usando o comando.

Por favor note, meus números de linha no arquivo não são fixos. Pode ser de 100 linhas ou pode ser de 500 linhas, mas eu quero mudar apenas a última palavra usando o comando.

    
por pmaipmui 15.06.2015 / 17:30

2 respostas

6

com sed :

sed -e '$s/Updated/EOF/' file
    
por 15.06.2015 / 17:33
2

Usando o Perl:

< inputfile perl -0777 -pe 's/Updated$/EOF/'
    
por 15.06.2015 / 17:36