Come copio l'intera cronologia degli appunti in un file di testo?


10

Vorrei incollare tutta la mia cronologia degli appunti composta da parole copiate (Ctrl + C / per selezione) durante le mie sessioni di lettura. Ho installato programmi come Glippy e ClipIt ma non sono riuscito a capire come incollare tutte le parole, se mai esiste una tale opzione in questi programmi, copio in un semplice file di testo contemporaneamente, non una parola alla volta. Qualcuno mi può aiutare?

Grazie!


clipit memorizza la sua storia in ~ / .local / share / clipit / history, il formato ha alcuni caratteri di controllo, probabilmente puoi analizzarli sed, ma è un po 'complicato
bartekbrak,

Risposte:


5

Puoi vedere alcune stringhe nel file di cronologia di Clipit con questo comando:

strings ~/.local/share/clipit/history

Ma non è il modo migliore. L'output potrebbe essere confuso.


3

c'è uno script python per ClipIt che lo esegue in questo modo 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

non l'ho provato, ma sembra giusto e risponde alla domanda (riguardo a Clipit)
user7610

2

L'ultima versione di Parcellite ha una voce di menu Salva con nome quando si fa clic sull'icona. Ciò salverà tutte le voci della cronologia in un file. C'è anche un incolla tutto quando si fa clic con il pulsante destro del mouse sull'elenco cronologico, che posizionerà l'intero elenco cronologico negli Appunti. Le preferenze hanno un delimitatore Incolla tutto che verrà inserito alla fine di ogni voce.

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


1

Installa Klipper Clipboard Manager di KDE Installa klipper e usa il seguente semplice script:

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

Nota: questo non si comporta molto bene in Unity come sembra. Quindi in ambienti desktop diversi da KDE: il tuo chilometraggio può variare .


FWIW, qualcuno che ha problemi con Klipper e Unity: askubuntu.com/questions/439303/…
Sparhawk

0

utente Parcellite, fai clic con il tasto sinistro del mouse sulla sua icona, "cancella", seleziona quante volte vuoi, dopodiché "modifica appunti" e copia tutto! Ricorda quindi imposta le preferenze: usa la selezione primaria, per semplificare la copia del testo!


Ciao Acquario! Grazie mille per la risposta. Tuttavia, quando faccio clic su Modifica Appunti vedo solo l'ultima parola che ho copiato e non l'intero elenco. Forse con te funziona in un altro modo? Forse devo configurare qualcosa nelle preferenze.
Pandisvezia,

c'è questo file ~ / .local / share / parcellite / history, il problema è che ha caratteri non stampabili da newline e così .. potresti provare a sostituirli / cancellarli ma ora questo inizia a diventare disordinato ...
Aquarius Power

0

Codice modificato da @ stepan-shamaiev per Python 3e senza impostazione del separatore:

#!/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('------------------')
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.