मैं क्लिपबोर्ड के पूरे इतिहास को टेक्स्ट फ़ाइल में कैसे कॉपी करूं?


10

मैं अपने पूरे क्लिपबोर्ड इतिहास को अपने पढ़ने के सत्रों के दौरान कॉपी किए गए शब्दों (Ctrl + C / चयन द्वारा) से युक्त करना चाहूंगा। मैंने Glippy और ClipIt जैसे प्रोग्राम इंस्टॉल किए, लेकिन मैं यह पता नहीं लगा सका कि सभी शब्दों को कैसे पेस्ट किया जाए, अगर कभी इन प्रोग्राम में ऐसा कोई विकल्प मौजूद हो, तो मैं एक बार में एक साधारण टेक्स्ट फ़ाइल में कॉपी करता हूं, एक बार में एक शब्द नहीं। क्या कोई मेरी मदद कर सकता है?

धन्यवाद!


क्लिपिट ~ / .local / शेयर / क्लिपिट / इतिहास में अपने इतिहास को संग्रहीत करता है, प्रारूप में कुछ नियंत्रण वर्ण हैं, आप शायद उनके साथ पार्स कर सकते हैं sed, लेकिन यह थोड़ा जटिल है
bartekbrak

जवाबों:


5

आप इस आदेश के साथ क्लिपिट इतिहास फ़ाइल में कुछ तार देख सकते हैं:

strings ~/.local/share/clipit/history

लेकिन यह सबसे अच्छा तरीका नहीं है। आउटपुट विकृत हो सकता है।


4

वहाँ क्लिप स्क्रिप्ट के लिए अजगर स्क्रिप्ट है इसे इस तरह से चलाएं 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

यह कोशिश नहीं की है, लेकिन यह सही लगता है और प्रश्न का उत्तर देता है (क्लिपिट के बारे में)
user7610

2

आइकन पर क्लिक करने पर Parcinery के नवीनतम संस्करण में Save As मेनू आइटम है। यह सभी इतिहास प्रविष्टियों को एक फ़ाइल में बचाएगा। इतिहास सूची को राइट-क्लिक करने पर एक पेस्ट भी होता है, जो संपूर्ण इतिहास सूची को क्लिपबोर्ड पर रखेगा। वरीयताओं में एक पेस्ट ऑल सीमांकक है जो इसे प्रत्येक प्रविष्टि के अंत में डाल देगा।

https://sourceforge.net/projects/parcellite/files/parcellite/parcellite-1.1.1/ पीपीए यहाँ: https://launchpad.net/~rickyrockrat/+archive/ppa


1

KDE के क्लिपर क्लिप प्रबंधक को स्थापित करें 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

नोट: यह एकता में बहुत अच्छा व्यवहार नहीं करता है इसलिए ऐसा लगता है। केडीई के अलावा अन्य डेस्कटॉप वातावरण में: आपका माइलेज अलग-अलग हो सकता है


एफडब्ल्यूआईडब्ल्यू, किसी को
क्लिपर

0

उपयोगकर्ता पार्सलिंग, इसके आइकन पर बायाँ-क्लिक करें, "स्पष्ट", चुनें कि आप कितनी बार चाहते हैं, उसके बाद, "क्लिपबोर्ड संपादित करें" और यह सब कॉपी करें! इतना सेट वरीयता को याद रखें: पाठ की प्रतिलिपि बनाना आसान बनाने के लिए, प्राथमिक चयन का उपयोग करें!


हाय एक्केरियस! आपके उत्तर के लिए बहुत धन्यवाद। हालाँकि, जब मैं संपादन क्लिपबोर्ड पर क्लिक करता हूँ तो मुझे केवल अंतिम शब्द दिखाई देता है जिसे मैंने कॉपी किया था और पूरी सूची नहीं। शायद आपके साथ यह एक और तरीका काम करता है? शायद मुझे वरीयताओं में कुछ कॉन्फ़िगर करना होगा।
पांडाविज़्ज़िया

यह फ़ाइल है ~ / .local / share / parcelic / इतिहास, समस्या यह है कि यह नॉनलाइन करने के लिए गैर मुद्रण योग्य वर्ण है और इस तरह .. आप autoReplacing / उन्हें मिटा देने की कोशिश कर सकते हैं, लेकिन अब यह गन्दा होने लगता है ...
कुंभ पावर

0

विभाजक की स्थापना के बिना और उसके बिना @ 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('------------------')
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.