每行末尾都有一个换行符的。只删除最后一个换行符,就意味着将文件的倒数第二行与最后一行合并成一行。我这个题意理解得正确吗?
如果是这样:
line=`sed -n '$=' file.txt` #计算文件行数
let line-=1 #得到倒数第二行的行号
sed -i $line'{N;s/\n//}' file.txt #去除倒数第二行后的换行符
计算文件行数用wc也可以:
wc -l file.txt | cut -d' ' -f1
sed '$'d test.txt
sed -i '$d' filename.txt