回答:
次のコマンドを使用して、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、アイコンを左クリックして「クリア」、必要な回数を選択し、その後「クリップボードを編集」してすべてコピーします。設定を覚えておいてください。テキストを簡単にコピーできるように、1次選択を使用してください。
@ 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
、それは少し複雑です