我需要将大型日志文件中的所有文本复制到剪贴板。我有一个到 Linux 的远程连接,并且只使用控制台终端。我想要的是类似的东西Select all -> Copy
。
在我使用的 emacs 中F10 -> Edit -> Select All, and then F10 again -> Edit -> Copy
。但它没有进入我的剪贴板,无法将其粘贴到我的本地 Windows 实例中(它适用于屏幕上显示的内容;无需滚动)。
nano或emacs有更好的方法吗?
干杯
Emacs 有一个鲜为人知的功能,它可以让你的生活更轻松。您实际上可以通过 ssh 远程打开文件,就像打开本地文件一样容易,而且开销很小。所以只要你可以从本地emacs复制到剪贴板,你就可以做你需要的。
要远程打开文件,只需像往常一样点击 Cx Cf。但是你想要的文件是这样的
/ssh:otherserver.some.org:/path/to/file.log
whereotherserver.some.org
替换为实际的服务器名称,/path/to/file.log
是您的实际路径。第一次连接后,选项卡完成也可以工作。编辑的工作方式与处理本地文件(包括复制)完全相同,只是在保存时,文件会通过 ssh 复制回远程。
该设施称为“ TRAMP ”,因此将存在名称中带有“tramp”的隐藏缓冲区。另请注意,tramp 可以使用其他几种方法连接到文件,例如plink
Windows,以及su
以其他用户身份编辑文件。
这里讨论了您的问题的其他选项: Getting Items on the Local Clipboard from a Remote SSH Session,或者甚至可能在这里: http ://winscp.net/eng/docs/task_edit 。
如果您只有一个终端会话,那么 emacs、nano 或任何其他在 Linux 端运行的程序都无法将文本发送到 Windows 剪贴板。
您的选择是通过 X11 或 VNC 连接,在这种情况下,可以在 Windows 和 Linux 程序之间共享剪贴板,或者通过其他方式复制文件。
如果您通过 ssh 登录,例如,您可以ssh thelinuxmachine cat /the/log/file/locatioin > logfile.txt
在 windows 命令 shell 中运行。使用 scp 客户端(例如http://winscp.net/ )连接到 linux 机器可能也可以。