![是否可以将突出显示的文本作为 grep 的输入](https://linux22.com/image/1014216/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%B0%86%E7%AA%81%E5%87%BA%E6%98%BE%E7%A4%BA%E7%9A%84%E6%96%87%E6%9C%AC%E4%BD%9C%E4%B8%BA%20grep%20%E7%9A%84%E8%BE%93%E5%85%A5.png)
我使用 grep 在大量文件中查找唯一(标记)文本。
grep MarkerText -r -C 30 -h ~/helpfiles/*
是否可以将突出显示的文本作为输入提供给我的 grep 命令,以便突出显示的文本替换此命令中的 MarkerText?我希望避免一直复制和粘贴。
答案1
PRIMARY
是的,当然 - X11 中有选择。
PRIMARY 选择,当用户选择一些数据时使用。X 窗口:剪贴板
您可以使用xsel
或xclip
cli 工具:
总结
- 选择一些文本
2a.grep "$(xsel)" -r -C 30 -h ~/helpfiles/*
或者
2b.grep "$(xclip -o)" -r -C 30 -h ~/helpfiles/*
前提
xsel
或xclip
安装的包:apt get install xsel
或apt get install xclip
X
服务器正在运行(即您使用 X 服务器,而不是没有 X 服务器的文本模式):xset q > /dev/null && echo "X is running" || echo "start X server"
解释
和xsel
都是xclip
剪贴板管理工具。命令xsel
和xclip -o
打印到所选STDOUT
内容PRIMARY
。您可以在此处找到更多信息:'xclip' 与 'xsel'
使用双引号括起来$()
。这样可以突出显示多个单词。
答案2
如果您可以安装 xclip 包,请尝试:
grep `xclip -o` -r -C 30 -h ~/helpfiles/*
上述命令中的“xclip -o”将被替换为剪贴板上的内容。