Ako nahradiť prázdne miesta v názve súboru podtržníkom

Čo ma k tomu vedie?
Práca v termináli so súbormi, ktoré majú viacslovné názvy s medzerami je dosť nepohodlná, terminál ich nespracuje a je nutné ich upraviť.

~ $ cp Dlhý príbeh z konca leta ~/Dokumenty/test/
cp: nie je možné stat() 'Dlhý': Adresár alebo súbor neexistuje
cp: nie je možné stat() 'príbeh': Adresár alebo súbor neexistuje
cp: nie je možné stat() 'z': Adresár alebo súbor neexistuje
cp: nie je možné stat() 'konca': Adresár alebo súbor neexistuje
cp: nie je možné stat() 'leta': Adresár alebo súbor neexistuje

Najjednoduchšie je, dať celý názov do úvodzoviek, potom to už spracuje

~ $ cp "Dlhý príbeh z konca leta" ~/Dokumenty/test
~ $ 

Nie je to však len záležitosť terminálu.
Deje sa to aj v rôznych iných situáciách a v rôznych aplikáciách.
Mám množstvo pdf súborov s rôznymi návodmi a v Tomboy zas množstvo poznámok, v ktorých by som odkazoval na tieto návody ale …
Ak skopírujem adresu súboru do schránky a vložím do Tomboy poznámky, zobrazí sa zle a nie je to funkčný hypertextový odkaz.

Tie medzery robia galibu, je preto nutné ich niečim nahradiť
a z hľadiska estetického je najlepším kandidátom „podtržník“ ( nejaký_šikovný_návod ).

Ako na to?

Nie som IT-čkár, neviem programovať ale som gramotný, hľadal som a našiel. Príkaz do terminálu môže vyzerať napríklad takto:

for i in *; do mv "$i" $(echo "$i" | tr " " "_"); done;

Nahradí medzery v názvoch všetkých súborov v aktuálnom adresári podtržníkom.

#názvy podadresárov v aktuálnom adresári sa upravia tiež

Kopírovaná cesta je takto už v poriadku a kliknutím na ňu sa mi otvorí správny dokument a terminál mi zadané súbory spracuje tiež v okamžiku.

Môj PDF adresár má však zložitú štruktúru, veľa podadresárov, veľa súborov, fyzicky sa preklikať do každého a spustiť ten príkaz je nepohodlné.
Existuje však aplikácia Detox, ktorá je na to ako stvorená. Je v repozitári Linux Mintu a tak si ju nainštalujete jednoducho cez Synaptik alebo Správcu softvéru alebo zadaním príkazu v termináli:

apt install detox

a zadaním jednoduchého príkazu

detox -r ~/PDF

túto operáciu vykoná v celej adresárovej štruktúre ktorú mu určím.

Detox odstráni síce aj všetku diakritiku, t.j. dĺžne, mäkčene, … ,

ale pri týchto súboroch mi to nevadí. Niekomu sa táto jeho vlastnosť môže naopak hodiť napr. pri úprave hudobných súborov.

Štítky , , , , , .Záložka pro permanentní odkaz.

2 reakce na Ako nahradiť prázdne miesta v názve súboru podtržníkom

  1. caine říká:

    To jsem zrovna potřeboval! Ten detox odstraňuje i vykřičníky, otazníky, apostrof a pod.
    Děkuju!

  2. broukal říká:

    Jednoduche a ucinne… Ten prikaz by som rad videl rozpisany blizsie, pochopil som co ma zhruba robit ale jeho syntax som uplne nepochopil, jedna sa mi o to ze to moze byt spustene automaticky ako skript po spusteni a teda to nebude nutne zadavat zakazdym….

Napsat komentář

Vaše emailová adresa nebude zveřejněna.