如何将剪贴板的整个历史记录复制到文本文件中?

我想在我的阅读过程中粘贴我的整个剪贴板历史记录,其中包含复制的单词(Ctrl + C /选择)。 我安装了像Glippy和ClipIt这样的程序,但我无法弄清楚如何粘贴所有单词,如果在这些程序中存在这样的选项,我一次复制到一个简单的文本文件,而不是一次复制一个单词。 有人可以帮我吗?

谢谢!

您可以使用以下命令在clipit历史文件中查看一些字符串:

 strings ~/.local/share/clipit/history 

但这不是最好的方式。 输出可能是乱码。

ClipIt有python脚本像这个python cliphist.py > clipit.history.txt一样运行它

 #!/usr/bin/env python """cliphist.py: utility to print clipit history file. If an argument is passed on the command line, it will be used as a separator, otherwise history items are separated by a blank line. """ import struct, os, sys homedir = os.environ['HOME'] histfile = homedir + '/.local/share/clipit/history' if len(sys.argv) > 1: sep = sys.argv[1] else: sep = '---------------------------------------------------------------------' with open(histfile,'rb') as f: f.read(68) size,_ = struct.unpack('2i',f.read(8)) while (size > 0): item = f.read(size) print item _,_,_,size,_ = struct.unpack('5i',f.read(20)) if size > 0: print sep 

单击图标时,最新版本的Parcellite具有“另存为”菜单项。 这会将所有历史记录条目保存到文件中。 右键单击历史列表时,还会粘贴所有内容,这会将整个历史记录列表放在剪贴板上。 首选项具有粘贴所有分隔符,它将放在每个条目的末尾。

https://sourceforge.net/projects/parcellite/files/parcellite/parcellite-1.1.1/ ppa这里: https : //launchpad.net/~rickyrockrat/+archive/ppa

安装KDE的Klipper剪贴板管理器 安装klipper 并使用以下简单脚本:

 text="nothing yet" cnt=0 while [ "$text" != "" ]; do text=`qdbus org.kde.klipper /klipper getClipboardHistoryItem $cnt` echo "==== Clipboard content line $cnt:" echo "$text" # to terminal output echo "$text" > /path/to/file # to file (EDIT this) cnt=$((cnt + 1)) done 

注意:这似乎在Unity中表现不佳。 所以在除KDE之外的其他桌面环境中: 您的里程可能会有所不同

用户Parcellite,左键单击其图标,“清除”,选择您想要的次数,之后,“编辑剪贴板”并将其全部复制! 请记住设置首选项:使用主要选择,以便更容易复制文本!

来自 @ stepan-shamaiev的Python 3修改代码,没有设置分隔符:

 #!/usr/bin/env python3 """cliphist.py: utility to print clipit history file.""" import struct, os homedir = os.environ['HOME'] histfile = homedir + '/.local/share/clipit/history' with open(histfile,'rb') as f: f.read(68) size, _ = struct.unpack('2i', f.read(8)) while size > 0: item = f.read(size) print(item.decode()) _,_,_,size,_ = struct.unpack('5i',f.read(20)) if size > 0: print('------------------')