Answers:
您可以使用以下命令在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 Clipboard Manager 并使用以下简单脚本:
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('------------------')
sed
,但这有点复杂