Thunar - spoj TXT, MP3, PDF súbory

10.07.2024 | 12:26 | rozsypané korálky | kamowski

Potrebujem spájať jednoduché textové (txt) súbory, občas mp3 a pdf súbory. Keďže s týmito súbormi manipulujem v správcovi súborov (Thunar), urobil som si príslušné "Vlastné akcie"

(tento doslovný preklad "Custom actions" mi trhá uši).

Spoj TXT súbory

Názov:               Spoj TXT súbory
Popis:                Spojí TXT súbory a pomenuje ako zadáš
Príkaz:               NEW_FILE=$(/usr/bin/zenity --entry --title 'Spoj do nového súboru' --text 'Zadaj názov nového súboru') && touch "$NEW_FILE.txt" && cat %F > "$NEW_FILE.txt"
Ikona:                niečo si zvoľte alebo nechajte bez
Vzorka súboru:  *.txt
Zobrazí sa ...:    Textové súbory
#vstupné txt súbory (kópie) si premenujte na 1.txt, 2.txt, 3.txt, ....aby vám to zoradilo tak, ako to chcete mať

#spojí aj viac súborov

Spoj MP3 súbory

Názov:               Spoj MP3 súbory
Popis:                Spojí TXT súbory a pomenuje ako zadáš
Príkaz:               NEW_FILE=$(/usr/bin/zenity --entry --title 'Spoj do nového súboru' --text 'Zadaj názov nového súboru') && ffmpeg -i "concat:$(for f in %F; do echo -n "${f}|"; done | sed "s/|$//")" -acodec copy "$NEW_FILE.mp3"
Ikona:                niečo si zvoľte alebo nechajte bez
Vzorka súboru:  *.mp3
Zobrazí sa ...:     Zvukové súbory

#pôvodne som tu mal iný príkaz s "cat" ale toto by malo byť lepšie riešenie
##vstupné mp3 súbory (kópie) si premenujte na 1.mp3, 2.mp3, 3.mp3, ....aby vám to zoradilo tak, ako to chcete mať

Spoj PDF súbory

Názov:               Spoj PDF súbory
Popis:                Spojí PDF súbory a pomenuje ako zadáš
Príkaz:               pdftk %F output "$(/usr/bin/zenity --entry --title 'Spoj do nového súboru' --text 'Zadaj názov nového súboru').pdf"
Ikona:                niečo si zvoľte alebo nechajte bez
Vzorka súboru:  *.pdf
Zobrazí sa ...:    Ostatné súbory

Tu sa príkaz zmenil viac ale to zenity sa podarilo napasovať aj sem.
#spojí aj viac súborov

Príkazy si vyhľadávam na internete, trochu ich ohnem pre svoje potreby,
je to pokus-omyl-snáď, nemám na to školy :)

    • RE: Thunar - spoj TXT, MP3, PDF súbory 14.07.2024 | 13:21
      Avatar Richard Antix  Používateľ

      Super.

      Keby niekto chcel niečo podobné do Emacs Dired-u, alebo Sunrise, tak ja to mám takto:

      (defun sr-join-pdf (&optional arg)
        "Join selected PDFs into one usind pdftk."
        (interactive)
        (let* ((fn-list (dired-get-marked-files nil arg)))
          (setq flist (format "%s" fn-list))
          (shell-command (concat "pdftk  "(dired-replace-in-string "[(|)]" " " flist)" cat output SPOJENE.pdf" )))
        (revert-buffer))
      
    • RE: Thunar - spoj TXT, MP3, PDF súbory 15.07.2024 | 21:29
      Avatar kamowski Linux Mint  Používateľ

      pre spájanie pdf súborovsom v thunare mal pred tým príkazo so zenity:

      pdftk %F output "spojenéPDF.pdf"

      :)

    • RE: Thunar - spoj TXT, MP3, PDF súbory 23.07.2024 | 17:47
      Avatar paldopice   Používateľ

      Spajat (binarne) subory, ktore maju svoju strukturu cat-ovanim, to je take kamowske...

      Predpokladam, ze nikto z vas neskusal tie subory otvorit...

      • RE: Thunar - spoj TXT, MP3, PDF súbory 12.02 | 14:07
        Avatar kamowski Linux Mint  Používateľ

        nedalo mi to a hľadal som iné, lepšie, (ale tiež funkčné) riešenie, také to "predpisové" , cez vyhľadávač a aj pomocou rôznych AI,
        tie mali tiež "problém" s cat, že prečo sa to nedá ..., čo všetko sa môže stať ..., kecov za vedro, kopec zložitých a ešte zložitejších príkazov, z ktorých, žiaľ, nefungoval ani jeden
        vravím žiaľ, lebo som ozaj chcel mať "spoľahlivé" riešenie, nech ma to nezaskočí
        vec sa má ale tak, že toto moje jednoduché, nemožné, smiešne, ... riešenie funguje a ak s tým máš nejaký ideologický problém, bolo by fajn, ak by si napísal lepšie a zároveň funkčné riešenie ty (alebo hocikto iný), ja som ho nenašiel
        takže, aké sú požiadavky:
        - v thunare vyberiem označením niekoľko *.mp3 súborov
        - spustím príkaz z kontextovej ponuky
        - požiada ma to o zadanie názvu pre výstupný súbor (nepíšem koncovku, zadá ju sám)
        - výstupný súbor je funkčný
        ak to robím, "cat-ovaním", dostanem funkčný súbor, ktorý prehrajem aj v aute a tu v pc mi ukazuje tú istú veľkosť, ako vybrané súbory spolu,
        zároveň, ak pozerám exif info, tak tam žiaden problém nevidím
        nie som vševedko, pýtam sa na iné riešenie bez sarkazmu, či irónie, ak máš nejaké, kľudne ho sem dopíš, oprav ma, nech tu nie je príspevok "o ničom", niekomu sa môže to hodiť

    • RE: Thunar - spoj TXT, MP3, PDF súbory 13.02 | 04:58
      Avatar kamowski Linux Mint  Používateľ

      takže, tu je funkčné riešenie:

      NEW_FILE=$(/usr/bin/zenity --entry --title 'Spoj do nového súboru' --text 'Zadaj názov nového súboru') && ffmpeg -i "concat:$(for f in %F; do echo -n "${f}|"; done | sed "s/|$//")" -acodec copy "$NEW_FILE.mp3"

      prepíšem aj v článku