我想在文件的最后一行(最后一个字符)中添加一个点(句号)
文件:
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
所需的输出
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**.**
我的代码:
sed '$d' file > tmp1
tail -1 file > tmp2
sed -i 's/$/./' tmp2
cat tmp1 tmp2 > output
我使用上面的代码得到了所需的输出 有没有更有效的方法来解决这个问题?
答案 0 :(得分:5)
告诉sed只改变最后一行。
sed '$s/$/./'
答案 1 :(得分:0)
您可以使用echo
,仅当您的最后一行尚未包含回车时才会有效
echo -n "." >> file