我有一些很长的日志文件。我可以使用 查看最后几行tail -n 50 file.txt
,但有时我需要编辑最后几行。
使用 查看文件时如何直接跳到文件末尾nano
?
答案1
使用 . 打开文件nano file.txt
。
现在输入Ctrl+ _,然后输入Ctrl+V
答案2
很多编辑都支持+NNN
命令行上的选项直接跳转到行神经网络。幸运的是,nano
如果给定的行号超出了文件末尾,则似乎会跳转到末尾,因此您可以使用类似以下内容的内容:
nano +999999 file
这也适用于joe
,但不适用于例如less
或 VIM,他们抱怨超过了 EOF。 (至少是我系统上的那些。less +G file
并vi +$ file
在其中工作。)
当然,类似的方法$EDITOR +$(wc -l file) file
可能适用于大多数编辑器,但这有点愚蠢,并且需要读取文件两次。
答案3
来自内置 Nano 帮助 ( ^G
):
M-\ (^Home) Go to the first line of the file
M-/ (^End) Go to the last line of the file
因此,按Alt+\转到第一行或按Alt+/转至最后一行。
- 这相当于gg(start) 或G(end)维姆。
- 这也表明Ctrl+Home或Ctrl+End应该有效,但是
这对我来说从来没有用过它们似乎可以在控制台/桌面上本地运行,但不能通过使用 PuTTY 的 SSH 运行。 - 我记得它位于
/
键盘底部附近和\
顶部附近。
如果你想要一个命令.bashrc
,您可以在或中编写一个函数.bash_aliases
来使用 中的行计数wc
:
function nano-end {
# if the file exists, jump to the end
# otherwise, just open an empty nano
[ -f "$1" ] && nano +$(wc -l "$1") || nano
}
现在只需键入nano-end filename
即可打开文件直至最后一行!
答案4
Ctrl+End正在运行,如果你有最近(编译)版本的nano
编辑。
如果您不知道如何操作,您可以阅读使用选项编译 Nano 编辑器
请注意,在较新的系统中,例如基于Ubuntu 18.04,已经有这样的版本。
来自变更日志:
2017 年 4 月 12 日 - GNU nano 2.8.1
...使 ^Home 和 ^End 转到文件的开头和结尾(在支持这些击键的终端上)...
PuTTY 与 Cygwin
我没有安装 PuTTY,这里我们必须依赖其他声明,这些组合键在 Windows 10 + PuTTY + SSH + nano > 2.8.1 中不起作用。
另一方面,我有 Cygwin,Windows 10 + Cygwin + SSH + nano > 2.8.1 工作正常。