是否可以将突出显示的文本作为 grep 的输入

是否可以将突出显示的文本作为 grep 的输入

我使用 grep 在大量文件中查找唯一(标记)文本。

grep MarkerText -r -C 30 -h ~/helpfiles/*

是否可以将突出显示的文本作为输入提供给我的 grep 命令,以便突出显示的文本替换此命令中的 MarkerText?我希望避免一直复制和粘贴。

答案1

PRIMARY是的,当然 - X11 中有选择。

PRIMARY 选择,当用户选择一些数据时使用。X 窗口:剪贴板

您可以使用xselxclipcli 工具:

总结

  1. 选择一些文本

2a.grep "$(xsel)" -r -C 30 -h ~/helpfiles/*

或者

2b.grep "$(xclip -o)" -r -C 30 -h ~/helpfiles/*

前提

  • xselxclip安装的包:apt get install xselapt get install xclip

  • X服务器正在运行(即您使用 X 服务器,而不是没有 X 服务器的文本模式):xset q > /dev/null && echo "X is running" || echo "start X server"

解释

xsel都是xclip剪贴板管理工具。命令xselxclip -o打印到所选STDOUT内容PRIMARY。您可以在此处找到更多信息:'xclip' 与 'xsel'

使用双引号括起来$()。这样可以突出显示多个单词。

答案2

如果您可以安装 xclip 包,请尝试:

grep `xclip -o` -r -C 30 -h ~/helpfiles/*

上述命令中的“xclip -o”将被替换为剪贴板上的内容。

相关内容