Byt*_*der 4 command-line scripts clipboard sed
我经常复制小的单独的文本片段并将它们粘贴到其他地方。之后我总是需要以明确定义的方式编辑粘贴的结果,这可以通过类似于 egsed
的s/PATTERN/REPLACEMENT/
命令的正则表达式替换来描述。
我想通过让脚本在复制和粘贴之间的某个时间自动处理剪贴板缓冲区的内容,并通过应用配置的正则表达式替换对其进行修改来自动执行此任务的编辑部分。
实际的正则表达式模式和替换应在脚本启动时由用户输入,并且它还应该以某种方式表明它正在运行,例如通过打开一个小对话窗口并在每次进行修改时发送桌面通知.
发布问题的方式不仅需要一个简单的脚本,还需要一个用于启用/禁用脚本的 GUI 界面。我发现通过可从 Ubuntu 的顶部面板访问的应用程序指示器更容易实现。这个答案正是作为解决方案提出的。
的clipboard-autoedit-indicator
,我已经为这个问题而编写的,允许基于正则表达式的表达式(选择的剪贴板中的内容自动编辑sed
或Python的re
风格)。它使用 Gtk 的剪贴板模块和最小的依赖项,因此不需要安装额外的工具,例如xclip
或xsel
。
在终端中运行以下命令:
sudo add-apt-repository ppa:1047481448-2/sergkolo
sudo apt-get update
sudo apt-get install clipboard-autoedit-indicator
Run Code Online (Sandbox Code Playgroud)
该指标可以通过键入 Unity DashClipboard Autoedit
或通过/usr/bin/clipboard-autoedit-indicator
从命令行调用来启动。当启用/禁用剪贴板的动态编辑时,会显示两个指示器图标(彩色和变灰的剪贴板图标)。发生编辑时,会向用户发送通知。
“设置正则表达式模式”菜单项调用zenity
表单对话框。当用户编辑正则表达式规则时,它会被记住并存储在~/.clipboard-autoedit-config.json
文件中。当用户单击OK按钮时,动态编辑将自动启用,但用户可以通过“替换启用”检查菜单项禁用它。正则表达式类型默认为 python 的re
模块。
源代码可在GitHub 上的 MIT 许可下获得。将有进一步的开发和更新版本,如果您有功能请求和/或错误报告,请在 GitHub 上提交。