Kopiowanie plików z wiersza poleceń do schowka


18

W menedżerze plików GUI można wybrać kilka plików, nacisnąć Ctrl-C (który rzekomo kopiuje informacje o plikach do schowka), a następnie przejść do innego folderu i nacisnąć Ctrl-V, który następnie skopiuje pliki do tego informator.

W ramach eksperymentu po skopiowaniu plików w menedżerze plików można przejść do edytora tekstu - naciśnięcie Ctrl-V powoduje wklejenie listy bezwzględnych nazw plików. Proces odwrotny (kopiowanie listy plików z edytora tekstu i wklejanie ich do menedżera plików) nie działa, co prawdopodobnie wynika z różnych atomów docelowych

Celem tego ćwiczenia jest na przykład możliwość skopiowania niektórych plików z wiersza poleceń

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

następnie przejdź do menedżera plików i skopiuj je wszystkie do katalogu za pomocą Plik-> Wklej.

Pytanie brzmi: jakie parametry xclip(lub innego programu) muszę określić, aby menedżer plików rozpoznał wybór jako listę plików i włączył opcję menu Wklej?

Alternatywnie, czy istnieje narzędzie niskiego poziomu, które pozwoliłoby sprawdzić zawartość selekcji X i zobaczyć, jakie dane obecnie zawiera?

Odpowiedzi:


12

Tak, w zasadzie musisz zaoferować wybór SCHOWKA jako

  • text/uri-list z treścią

    /path/to/file1
    /path/to/file2
    
  • application/x-kde-cutselectionlub x-special/gnome-copied-filesz zawartością copy\nfile://$path1\nfile://$path2\0lubcut\nfile://$path1\nfile://$path2...\0

Dzięki temu xclipmożesz to osiągnąć za pomocą czegoś takiego

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

Ja również znaleźć ten loliclip polecenia, które wyglądało obiecujących, ale chociaż mogę pobrać wartości, nie byłem w stanie je przechowywać i mieć je pobrać z loliclipprzez pcmanfmpomyślnie.

Powinieneś być również w stanie zaimplementować go w kilku liniach perl-tk.


Ok, po kilku drobiazgach text/uri-listzadziałał dla mnie wariant - jestem w stanie skopiować rzeczy z wiersza poleceń i wkleić pliki do menedżera plików Dolphin. Nie wymaga nawet file://prefiksów, dzięki którym polecenie działa poprawnie find. Zredagowałem twoje pytanie, aby dodać polecenie, które działa dla mnie w KDE - czy ktoś może przetestować je w Gnome lub gdzie indziej?
— Siergiej

Dzięki za edycję. Wygląda na file://to, że nie jest to konieczne w pcmanfmżadnym z tych programów (chociaż pcmanfm zawiera to samo). Przypuszczam, że niektóre znaki specjalne (przynajmniej LF) powinny być zakodowane w URI.
— Stéphane Chazelas

Tak. Mogę potwierdzić, że musisz używać file:///new%0Alineplików, które zawierają znaki nowego wiersza, chociaż każdy inny znak (w tym kodowanie inne niż ASCII w dowolnym kodowaniu) wydaje się być w porządku (przynajmniej z pcmanfm)
— Stéphane Chazelas

1

dlaczego nie findzrobić tego dla ciebie?

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

EDYCJA: z tego co rozumiem man xclip: obsługuje tylko tekst, a nie pliki lub katalogi.


Głównie dlatego, że jest to eksperyment, chociaż myślę, że „skopiuj pliki do schowka teraz, zdecyduj, gdzie chcesz je później wkleić” byłby przydatnym sposobem na zrobienie czegoś.
— Sergey
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.