Copia dei file dalla riga di comando negli Appunti


18

In un file manager della GUI è possibile selezionare alcuni file, premere Ctrl-C (che presumibilmente copia le informazioni sui file negli Appunti), quindi navigare in un'altra cartella e premere Ctrl-V, che quindi copia i file in quella directory.

Come esperimento, dopo aver copiato i file nel file manager, è possibile passare a un editor di testo - premendo Ctrl-V si incolla un elenco di nomi di file assoluti. Il processo inverso (copiando un elenco di file da un editor di testo e incollandoli in un file manager) non funziona, presumibilmente a causa di diversi atomi di destinazione

L'obiettivo dell'esercizio è quello di essere in grado di copiare alcuni file dalla riga di comando, ad esempio

find ${PWD} -name "*.txt" | xclip <magic parameters>

quindi passare a un file manager e copiarli tutti in una directory usando File-> Incolla.

Quindi, la domanda è: quali parametri di xclip(o altri programmi) devo specificare, in modo che il file manager riconosca la selezione come un elenco di file e abiliti la voce di menu Incolla?

In alternativa, esiste uno strumento di basso livello che consentirebbe di ispezionare il contenuto della selezione X e vedere quali dati contiene attualmente?

Risposte:


12

Sì, in sostanza, dovresti offrire la selezione CLIPBOARD come

  • text/uri-list con il contenuto essere

    /path/to/file1
    /path/to/file2
    
  • application/x-kde-cutselectiono x-special/gnome-copied-filescon contenuto copy\nfile://$path1\nfile://$path2\0ocut\nfile://$path1\nfile://$path2...\0

Con xclipte puoi ottenere questo con qualcosa di simile

find "$PWD" -name "*.pdf"| xclip -i -selection clipboard -t text/uri-list

Ho anche trovato questo comando loliclip che sembrava promettente, ma sebbene potessi recuperare i valori, non sono stato in grado di memorizzarli e di recuperarli loliclipcon pcmanfmsuccesso.

Dovresti anche essere in grado di implementarlo in poche righe di perl-tk.


Ok, dopo aver armeggiato la text/uri-listvariante ha funzionato per me: sono in grado di copiare elementi dalla riga di comando e incollare i file nel file manager Dolphin. Non richiede nemmeno file://prefissi, per cui il comando funziona perfettamente find. Ho modificato la tua domanda per aggiungere il comando che funziona per me in KDE - qualcuno può testarlo in Gnome o altrove?
Sergey,

Grazie per la modifica. Sembra che file://non sia necessario con pcmanfmnessuno dei due (sebbene pcmanfm lo includa da solo). Suppongo che alcuni caratteri speciali (almeno LF) dovrebbero essere codificati in URI.
Stéphane Chazelas,

Sì. Posso confermare che è necessario utilizzare file:///new%0Alineper i file che contengono caratteri di nuova riga, anche se qualsiasi altro carattere (incluso non ASCII in qualsiasi codifica) sembra andare bene (almeno con pcmanfm)
Stéphane Chazelas,

1

perché non findfarlo per te?

find ${PWD} -name "*.txt" -exec cp {} /full/path \; && gnome-open /full/path &

EDIT: da quello che ho capito man xclip: gestisce solo il testo, non i file o le directory.


Soprattutto perché è un esperimento, anche se penso che "copiare i file negli appunti ora, decidere dove si desidera incollarli in seguito" sarebbe un modo utile per fare le cose.
Sergey,
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.