我复制了一些文本并想使用 进行搜索less
。我想知道如何直接使用less
剪贴板内容,而无需先将其保存到文件中或进行保存echo
等。
答案1
使用剪辑或者谢尔(应该可以在任何 Linux 发行版和 BSD 端口上使用)。
对于使用鼠标选择某些内容时自动复制的 X11 选择:
xsel | less
xclip -o | less
对于显式复制的 X11 剪贴板(通常使用Ctrl+ C):
xsel -b | less
xclip -o -selection c | less
在 macOS 上,使用pbpaste
.
pbpaste | less
看将文件的内容复制到剪贴板而不显示其内容了解更多信息。
答案2
这是一种技术含量较低的方法:
你复制了一些东西,对吗?所以如果你按 Shift-Insert 或其他什么键,它就会粘贴,对吗?
$ cat | less
现在按Shift+Insert然后按Ctrl+C
瞧!现在,您可以上下滚动并搜索并执行任何您想要的操作less
,对您粘贴的剪贴板文本进行操作。
请注意,在这种情况下, Ctrl+D将无法终止输入cat
。我不知道为什么,但它在 FreeBSD 和 Ubuntu 上都没有。
答案3
在 X11 下,由于剪贴板的集成方式,这将不起作用。
首先,使用了两个剪贴板:
- 您选择的东西
- 使用热键(如 ctrl + c)复制的内容
程序可以使用这两个剪贴板或其中一个。
整个过程有点像这样:
Client A X Server Client B
----------------------------------------------------------------
(1) | I own selection FOO! |
| -------------------> |
| Write sel. FOO to BAR! | (2)
| <--------------------- |
| Write sel. FOO to BAR! |
| <--------------------- |
| Here is FOO.
| -------------------------:-----------------------> |
Okay, got it. |
| <------------------------:------------------------ |
(来源)
如果您想在终端工作流程中使用剪贴板内容,您可以使用类似剪辑并将它们别名为您选择的命令。