Portál AbcLinuxu, 12. května 2025 09:17
find -exec libreoffice --headless --convert-to pdf '{}' +
find -type f -exec libreoffice --headless --convert-to pdf '{}' +
~/.local/bin/libreoffice-pdf-export
, který spustí export v daném adresáři:
#!/bin/bash dir="$(dirname "$1")" file="$(basename "$1")" cd "$dir" && libreoffice --headless --convert-to pdf "$file"A pak ho spusť na všem:
find -type f -exec ~/.local/bin/libreoffice-pdf-export {} \;Všimni si středníku namísto plus, což znamená, že se skript spustí pro každý jednotlivý soubor zvlášť, neboť bere jen jeden parametr. (A nezapomeň nastavit spustitelnost tomu skriptu:
chmod +x ~/.local/bin/libreoffice-pdf-export
)
Asi by to šlo nacpat i do toho jednoho findu, ale bylo by to poněkud krkolomné. Ten find si pak můžeš dát do druhého skriptu, abys ho měl příště při ruce.
#!/bin/bash find . -type f -name "*.$1" -exec bash -c ' i="{}";adr="$PWD/{}"; name=${i%.*}; \ set -e; ffmpeg -hide_banner -hwaccel auto -i "$i" -c:a aac -strict -2 -c:s copy -c:v libx265 -preset faster -x265-params crf=26:ref=4:rd=5:rdoq=1:psy-rd=3:psy-rdoq=10 "$name.h265.mkv"; touch -r "$i" "$name.h265.mkv"; rm "$i"' \;volám ho
recoder extenze-videa
např recoder265 avi
a v tom případě od aktuálního adresáře prochází všechny podadresáře najde v nich soubory s uvedenou extenzí rekonvertuje je do h265, provede změnu datumu rekonvertovaného souboru na původní datum a původní soubor smaže. Vše se děje vždy v příslušném adresáři a zahlubuje se do stromu. změnit ffmpeg na potřebný příkaz a vyhodit rm a případně vyhodit touch.
#!/bin/bash find . -type f -name "*.$1" -exec bash -c ' i="{}";adr="$PWD/{}"; name=${i%.*}; \ set -e; cd "$PWD"; libreoffice --headless --convert-to pdf "$adr"' \;
#!/bin/bash find . -type f -name "*.$1" -exec bash -c ' i="{}";adr="$PWD/{}"; name=${i%.*}; \ set -e; cd "$PWD"; libreoffice --headless --convert-to pdf "$adr"; echo " zkonvertovano $adr"' \;
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.