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.