Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Jak zkopírovat kompletní cestu k souboru ?  (Přečteno 1123 krát)

Dr Fuss

  • Stálý člen
  • ***
  • Příspěvků: 711
Jak zkopírovat kompletní cestu k souboru ?
« kdy: 29 Června 2022, 15:02:26 »
Dobrý den všem.

Jak zkopírovat kompletní cestu k souboru ?

Jak a v čem (Norton Commander, Midnight Commander, nebo Místa), nebo v (jakém SW), aby, se to snadnoi nechalo "šoupnout" přes Cut (kapsu) do zcela jiného programu ?

JirkaZ

  • Závislák
  • ****
  • Příspěvků: 1212
  • Dlouholetý uživatel Linuxu a open source obecně.
Re:Jak zkopírovat kompletní cestu k souboru ?
« Odpověď #1 kdy: 29 Června 2022, 15:22:17 »
Cestu zobrazují třeba Double Commander, Krusader a jistě i další.

Fakt nepobírám, co to je ""šoupnout" přes Cut (kapsu) do zcela jiného programu"...

To jako přes schránku?

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3154
    • GdH-Notes
Re:Jak zkopírovat kompletní cestu k souboru ?
« Odpověď #2 kdy: 29 Června 2022, 15:59:54 »
Dobrý den všem.

Jak zkopírovat kompletní cestu k souboru ?

Jak a v čem (Norton Commander, Midnight Commander, nebo Místa), nebo v (jakém SW), aby, se to snadnoi nechalo "šoupnout" přes Cut (kapsu) do zcela jiného programu ?

Ve výchozím Soubory stačí na soubor kliknout pravým a v menu na Kopírovat.

Dr Fuss

  • Stálý člen
  • ***
  • Příspěvků: 711
Re:Jak zkopírovat kompletní cestu k souboru ?
« Odpověď #3 kdy: 29 Června 2022, 16:12:28 »
Ano. Zkopírovat kompletní cestu k souboru přes schránku. Přece celou dlouhou cestu si nebudu opisovat tužkou na papír !

jmp

  • Závislák
  • ****
  • Příspěvků: 2660
Re:Jak zkopírovat kompletní cestu k souboru ?
« Odpověď #4 kdy: 30 Června 2022, 13:33:32 »
pwd by nestačilo?

Dr Fuss

  • Stálý člen
  • ***
  • Příspěvků: 711
Re:Jak zkopírovat kompletní cestu k souboru ?
« Odpověď #5 kdy: 30 Června 2022, 14:20:29 »
Pravda..  pwd v terminálu. To mě nenapadlo. Dík !

juwa2

  • Závislák
  • ****
  • Příspěvků: 4702
Re:Jak zkopírovat kompletní cestu k souboru ?
« Odpověď #6 kdy: 30 Června 2022, 14:24:31 »
Příkaz pwd řešením rozhodně není, jak každý lehce zjistí - zobrazuje totiž pouze current working directory, nikoli cestu vybrané položky (ať už souboru nebo složky)... :-\

Spolehlivé řešení:
Použít (vytvořit) nautilus script  ~/.local/share/nautilus/scripts/copy_path.sh  s obsahem:
Kód: [Vybrat]
#!/bin/bash
# kopíruje cestu vybrané položky do schránky
readlink -f "$@" | xclip -r

Nezapomenout mu nastavit spustitelnost.
Je třeba mít nainstalovaný balíček xclip. Ideálně verzi 0.13 viz příloha (zohledňuje parametr -r). Jinak bude za každou cestou přidán "nadbytečný prázdný řádek".

Použití:
Stačí označit položku > pravoklik > Skripty > copy_path.sh
Funguje i při výběru více položek naráz. Všechny cesty vybraných položek budou zkopírovány do schránky - co cesta, to jeden řádek.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Pokud by měl někdo zájem o skript který kopíruje pouze název vybrané položky (~/.local/share/nautilus/scripts/copy_name.sh):
Kód: [Vybrat]
#!/bin/bash
# kopíruje název vybrané položky vč. přípony do schránky
ls -d "$@" | xargs -n 1 basename | xclip -r

Samozřejmě, tyto skripty jsou použitelné i pro jiné souborové managery (nemo, caja....). Pouze je třeba je nakopírovat do příslušné složky:
Kód: [Vybrat]
~/.local/share/nemo/scripts
~/.config/caja/scripts
« Poslední změna: 30 Června 2022, 15:26:20 od juwa2 »

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3154
    • GdH-Notes
Re:Jak zkopírovat kompletní cestu k souboru ?
« Odpověď #7 kdy: 30 Června 2022, 17:34:46 »
S Dr Fussem to tu vždy bylo trochu jako v blázinci, ale tady mám pocit že je to nakažlivé. Proč si psát skripty pro Nautila, když Nautilus (dnes Soubory) vám to do schránky zkopíruje sám? Kliknu pravým, vyberu Kopírovat, nebo označím a stisknu Ctrl+C. Co mi uniká?

juwa2

  • Závislák
  • ****
  • Příspěvků: 4702
Re:Jak zkopírovat kompletní cestu k souboru ?
« Odpověď #8 kdy: 30 Června 2022, 19:12:59 »
S Dr Fussem to tu vždy bylo trochu jako v blázinci, ale tady mám pocit že je to nakažlivé. Proč si psát skripty pro Nautila, když Nautilus (dnes Soubory) vám to do schránky zkopíruje sám? Kliknu pravým, vyberu Kopírovat, nebo označím a stisknu Ctrl+C. Co mi uniká?

Uniká ti to, že "kopírovat" sice cestu do schránky opravdu zkopíruje, ale zároveň položku "připraví" na kopírování někam (ctrl+v) což rozhodně není totožné a není to vždy žádoucí/potřebné..

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3154
    • GdH-Notes
Re:Jak zkopírovat kompletní cestu k souboru ?
« Odpověď #9 kdy: 30 Června 2022, 20:54:27 »
S Dr Fussem to tu vždy bylo trochu jako v blázinci, ale tady mám pocit že je to nakažlivé. Proč si psát skripty pro Nautila, když Nautilus (dnes Soubory) vám to do schránky zkopíruje sám? Kliknu pravým, vyberu Kopírovat, nebo označím a stisknu Ctrl+C. Co mi uniká?

Uniká ti to, že "kopírovat" sice cestu do schránky opravdu zkopíruje, ale zároveň položku "připraví" na kopírování někam (ctrl+v) což rozhodně není totožné a není to vždy žádoucí/potřebné..

A on doktor řešil problém s tím, že si Nautilus poznamená, že má ve schránce zdrojovou cestu pro kopírování?

Dr Fuss

  • Stálý člen
  • ***
  • Příspěvků: 711
Re:Jak zkopírovat kompletní cestu k souboru ?
« Odpověď #10 kdy: 07 Července 2022, 13:32:51 »
Pro juwa2:  "Nautilus dnes Soubory" ? To mi přijde jako kdyby se mi časem jméno z Jaroslav změnilo na Matěj. To je holt linux. Změny aby zmátly uživatele. Takové změny pro změny, aby se nemohlo říct že se linux nevylepšuje.

To mc nebo Gnome Commander nemá možnost vzít do schránky kompletní cestu k souboru ???
« Poslední změna: 07 Července 2022, 13:36:20 od Dr Fuss »

ramael

  • Člen
  • **
  • Příspěvků: 230
Re:Jak zkopírovat kompletní cestu k souboru ?
« Odpověď #11 kdy: 07 Července 2022, 14:05:55 »
Jestli jsem dobře pochopil otázku. Tak třeba v mc se proklikej kam potřebuješ. Pak zmáčkni Ctrl+o a tam zadej
Kód: [Vybrat]
echo "$(pwd)/"tvuj_soubor | zcela_jiny_program
EDIT: Typo ::)
« Poslední změna: 07 Července 2022, 18:48:22 od ramael »
Lenovo: Ideapad 5, AMD Ryzen 4000, Ubuntu 20.04.4, pure wayland - Swaywm 
MeWe  Joutůůůůb

Dr Fuss

  • Stálý člen
  • ***
  • Příspěvků: 711
Re:Jak zkopírovat kompletní cestu k souboru ?
« Odpověď #12 kdy: 10 Července 2022, 01:42:36 »
Pro ramael: Nepochopl jsem to. Nefunguje mi to. A navíc se mi to zdá komplikovaný. Přece něco v mc musí neustále registrovat kde jsem momentálně zanořenej, a musí mi to kdykoliv umožnit onu cestu nabrat  do schránky, Total Commander ve Windows to umí od nepaměti !!!

Dr Fuss

  • Stálý člen
  • ***
  • Příspěvků: 711
Re:Jak zkopírovat kompletní cestu k souboru ?
« Odpověď #13 kdy: 10 Července 2022, 02:04:00 »
A co takhle Ctrl-Shift-Enter odborníci ?

ramael

  • Člen
  • **
  • Příspěvků: 230
Re:Jak zkopírovat kompletní cestu k souboru ?
« Odpověď #14 kdy: 10 Července 2022, 10:27:12 »
Pro ramael: Nepochopl jsem to. Nefunguje mi to. A navíc se mi to zdá komplikovaný. Přece něco v mc musí neustále registrovat kde jsem momentálně zanořenej, a musí mi to kdykoliv umožnit onu cestu nabrat  do schránky, Total Commander ve Windows to umí od nepaměti !!!
Původně se mi nechtělo odpovídat. Ale ok. Myslím si, že názorná ukázka vydá za tisíc slov.
Spusť si terminál, a napiš tam mc a odentruj. Pak stiskni Ctrl+o vyskočí ti vnořený shel v aktuálním adresáři kam jsi se v mc proentroval, u Tebe možná proklikal. Zkus si přepínat mezi panely a vždy když někde budeš, pomocí ctrl+o skoč a vyskoč ze shelu. Abys viděl že to funguje napiš a odentruj si tam pwd.
Pak se proklikej do nějaké složky a tam napiš a odentruj toto:
Kód: [Vybrat]
echo -e $"mc je konzolová aplikace. Proto v ní myšítko nefunguje u každého stejně. Na funkci myšítka má vliv spousta jiných věcí.\nTřeba u mne doktore Noho, vůbec myš v terminálu a tím pádem v mc nefunguje.\nCtrl+Shift+Enter u mne otevře nový terminál!" > lala.txt
Tím jsme vytvořili testovací soubor s názvem lala.txt. Pak si vytvoříme kratičký zkušební "prográmek" vedle toho testovacího souboru. Tím myslím v té samé složce. Prográmek má za úkol vypsat obsah souboru předaný jako parametr.
Kód: [Vybrat]
echo -e $'#! /usr/bin/env bash\n\n[  "$1" ] && soubor=$1 || soubor=$(xargs $1)\n[ -e $soubor ] && { echo "výpis souboru: $soubor"; cat $soubor; }|| echo "!!! $soubor Neexistuje !!!"' > mujprg.sh
Přidáme mu spustitelná práva:
Kód: [Vybrat]
chmod +x ./mujprg.sh
A jdeme testovat. Napiš a odentruj:
Kód: [Vybrat]
./mujprg.sh lala.txt
Ok vypsalo to obsah souboru lala.txt. Jdeme dál navázáním na mou odpověď:
Kód: [Vybrat]
echo "$(pwd)/"lala.txt | ./mujprg.sh
Wauuu, funguje to! A můžeš zkusit i špatné zadání:
Kód: [Vybrat]
echo "$(pwd)/"lala.tx | ./mujprg.sh
Pořád funguje. Je to univerzální návod. Pokud chceš příště něco konkrétnějšího, je třeba to konkrétněji napsat. Třeba jaké prostředí používáš atd. Má odpověď byla jak to udělat v mc univerzálně. Ostatní souborové managery o kterých jsi psal nemám nainstalované a tak nemohu sloužit.
P.S. může se stát, že program kterému chceš předat adresu souboru nechce přijmout argument z roury. To je tento znak |. V tom případě to použij takto: zcela_jiny_program <<< echo "$(pwd)/"tvuj_soubor
Test:
Kód: [Vybrat]
./mujprg.sh <<< echo "$(pwd)/"lala.txt
Sakra, zase to funguje odborníku...

EDIT:
V posledním případě není třeba vůbec použít příkaz echo:
Kód: [Vybrat]
./mujprg.sh <<< $(pwd)/lala.txt
« Poslední změna: 11 Července 2022, 18:59:42 od ramael »
Lenovo: Ideapad 5, AMD Ryzen 4000, Ubuntu 20.04.4, pure wayland - Swaywm 
MeWe  Joutůůůůb

Dr Fuss

  • Stálý člen
  • ***
  • Příspěvků: 711
Re:Jak zkopírovat kompletní cestu k souboru ?
« Odpověď #15 kdy: 17 Července 2022, 07:18:50 »
Pro ramael: To abych měl doktorát z linuxu a uťukal se k smrti..  Proč řešit věci jednoduše, když jdou řešit složitě !

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3154
    • GdH-Notes
Re:Jak zkopírovat kompletní cestu k souboru ?
« Odpověď #16 kdy: 17 Července 2022, 13:10:32 »
V mc je nejjednodušší postup asi tento, doktore:
  • Stisknout (a uvolnit) postupně klávesy: Esc, a, Esc, Enter pro zobrazení kompletní cesty k označenému souboru
  • Stisknout a podržet Shift a následně označit text cesty myší pro zkopírování do schránky.
« Poslední změna: 17 Července 2022, 17:02:41 od GdH »

 


Provoz zaštiťuje spolek OpenAlt.