在文件的最后一行添加一个点

OXX*_*XXO 1 bash awk

我想在文件的最后一行(最后一个字符)中添加一个点(句号)

文件:

AAAAAA              21,28,22-23,35,24-27,29-30,37,31-34,36,54,38-45,47,46,48-53,
AAAAAA              71,55-70,72-78,80,79,81-93,96,94-95,97-98,100,99,101-103,
AAAAAA              122,104-114,118,115-117,119-121,123-124,140,125-130,148,
AAAAAA              1649-1650,1652-1667,1669-1853
Run Code Online (Sandbox Code Playgroud)

期望的输出

AAAAAA              21,28,22-23,35,24-27,29-30,37,31-34,36,54,38-45,47,46,48-53,
AAAAAA              71,55-70,72-78,80,79,81-93,96,94-95,97-98,100,99,101-103,
AAAAAA              122,104-114,118,115-117,119-121,123-124,140,125-130,148,
AAAAAA              1649-1650,1652-1667,1669-1853**.**
Run Code Online (Sandbox Code Playgroud)

我的代码:

sed '$d' file > tmp1
tail -1 file > tmp2
sed -i 's/$/./' tmp2

cat tmp1 tmp2 > output
Run Code Online (Sandbox Code Playgroud)

我用上面的代码得到了所需的输出.
有没有更有效的方法来解决这个问题?

Ign*_*ams 5

告诉sed只改变最后一行.

sed '$s/$/./'
Run Code Online (Sandbox Code Playgroud)