如何使用shell命令仅查找和替换特定单词(位于文件末尾)?

Nai*_*ita 0 shell sed awk text-processing

文件1:

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
Run Code Online (Sandbox Code Playgroud)

输出将是:

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
Run Code Online (Sandbox Code Playgroud)

我只想使用命令将最后一次更新更改为EOF

请注意,我在文件中的行号不是固定的。它可能是 100 行,也可能是 500 行,但我只想使用命令更改最后一个单词。

cuo*_*glm 6

sed

sed -e '$s/Updated/EOF/' file
Run Code Online (Sandbox Code Playgroud)

  • @Nainita:地址中的`$` 只匹配最后一行。 (2认同)