如何让光标回到文件的最后一行

如何让光标回到文件的最后一行

我有一个包含三个数字的文本文件,每个数字都用新行分隔。

-55
-56
-64

当我打开文件时,我可以看到光标位于第四个空行上。

在此输入图像描述

我希望光标停留在最后一行的最后一个数字上。

在此输入图像描述

sed我尝试了一些类似的事情:

sed -i '${/^$/d}' troisignaux.txt

但没有成功

有没有办法用一些 bash 命令来做到这一点?

谢谢

答案1

如果您确定文件以换行符结尾,只需删除最后一个字节,例如使用head -c-1 troisignaux.txt > temp.txt; mv temp.txt troisignaux.txt.

请注意,我真的找不到您正在做的单个用例好的主意。您正在破坏文件的系统结构:它始终是一个数字后跟一个换行符。

请注意,有时编码标准甚至强制要求最后一行应以换行符结尾;这既是为了结构,也是为了连接文件时的安全:您始终可以连接两个文件,其中每行都以换行符结尾,但是如果您在删除最后一个换行符后将一个数字(例如 32)连接到文件,它将以数字结尾-6432

答案2

没有第四个空行。这就是文本编辑器通过将光标放在第四行上来显示第三行末尾有换行符的方式。例如 VS Code 的行为就像这样。另一个编辑器,例如VIM,会将光标放在第三行而不显示第四行。使用 VS Code,您可以通过简单的退格键删除第三行的换行符。 VIM 不会这样做,如果保存文件时最后一行没有换行符,它会添加换行符。

解决方案是使用不同的文本编辑器。

相关内容