如何在不使用鼠标的情况下剪切和粘贴终端 I/O?

ton*_*ian 5 command-line bash gnome-terminal search

我想从终端的命令输出中搜索和剪切文本,以便我可以在后续的命令行调用中或仅在编辑器会话中使用它。

有什么方法可以轻松地针对终端的输出运行正则表达式并在不触摸鼠标的情况下剪切结果?

我的要求是:

  • 它应该可以在通过 ssh 使用远程机器时工作。在那些机器上,我无法在那里安装额外的软件,因此解决方案必须是本地的。
  • 如果可能,它必须“始终存在”。例如,如果我正在运行一个很长的进程并且突然失败,我希望能够通过输出 grep,而不必在准备好的环境中再次启动该进程。

ish*_*ish 5

xclipgrep和管道!

  • 安装xclip实用程序 ( sudo apt-get install xclip)

    • 默认情况下,xclip设置为将管道输入复制到剪贴板
    • xclip -o 将剪贴板的内容“粘贴”到您的终端中(即标准输出)
  • 对于正则表达式,只需将命令通过管道传递给 grep;该-P开关将为您提供完整的 Perl 正则表达式功能。

  • 示例:ls -lR | grep -P "anc.*" | xclip复制到剪贴板

    • tee xclip改为使用,以便显示和复制。


gei*_*rha 4

screen(1)允许您使用键盘复制/粘贴,但它要求您在screen.

\n\n

要复制,请按Ctrl+ A [,将光标(使用箭头键)移动到起点并按\xe2\x8f\x8e(RETURN),将光标移动到终点并按\xe2\x8f\x8e。现在已复制标记的文本。

\n\n

要粘贴,请按Ctrl+A ]

\n\n

该解决方案也适用于 Byobu,因为 Byobu 只是屏幕的包装。

\n