diff options
author | Anton Luka Šijanec <anton@sijanec.eu> | 2022-03-25 20:24:23 +0100 |
---|---|---|
committer | Anton Luka Šijanec <anton@sijanec.eu> | 2022-03-25 20:24:23 +0100 |
commit | 07e9e8ac673938a9e2467132dad02c0e4a8c507f (patch) | |
tree | fc231daa43d4c4772550cd04cba81c59f8526cdc /inf/rtk | |
parent | val (diff) | |
download | sola-gimb-3-07e9e8ac673938a9e2467132dad02c0e4a8c507f.tar sola-gimb-3-07e9e8ac673938a9e2467132dad02c0e4a8c507f.tar.gz sola-gimb-3-07e9e8ac673938a9e2467132dad02c0e4a8c507f.tar.bz2 sola-gimb-3-07e9e8ac673938a9e2467132dad02c0e4a8c507f.tar.lz sola-gimb-3-07e9e8ac673938a9e2467132dad02c0e4a8c507f.tar.xz sola-gimb-3-07e9e8ac673938a9e2467132dad02c0e4a8c507f.tar.zst sola-gimb-3-07e9e8ac673938a9e2467132dad02c0e4a8c507f.zip |
Diffstat (limited to 'inf/rtk')
-rwxr-xr-x | inf/rtk/državno/berime.sh | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/inf/rtk/državno/berime.sh b/inf/rtk/državno/berime.sh new file mode 100755 index 0000000..ce710b3 --- /dev/null +++ b/inf/rtk/državno/berime.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# Državno tekmovanje poteka v živo. Naloge se rešuje na papir. Mogoče bo kakšna naloga zahtevala pravilen program, zato s bom za pogosto uporabljene funkcije izpisal pomembne dele manpages. +# +# Začel sem z osnovnim ukazom +# +# a@ass:~/projects/sola-gimb-2/inf/rtk[0]$ grep -rno '[a-zA-Z_]*\s*(' . 2>/dev/null | cut -d: -f3 | grep -v '^($' | cut -d\( -f1 | sort | uniq | xargs -n1 -- man -S2,3 +# +# ki učinkovito pokaže omejitve xargs -- izhod man mora iti v tiskalnik. Bolje bi lahko zadevo izpeljal z +# +# | while read f +# do +# man -S2,3 $f | head -n30 >> /tmp/tisk.txt +# [ ${PIPESTATUS[0]} -eq 0 ] && echo --------------------------------- >> /tmp/tisk.txt +# done +# +# kjer man širino vrstice itak pobere iz terminala. +# +# Tukaj pa izgubimo poudarke, ki jih groff nariše na terminal z ubežnimi kontrolnimi znaki, ki tiskalniku pogosto ne pomenijo ničesar. Sicer bi bilo zanimivo izdelati uniksaški tiskalniški filter, ki bi znal brati te stilizacijske znake, vendar namesto tega lahko man prepričamo, da groff namesto besedila nariše tudi PDF. +# +# man -Tpdf man | zathura - +# +# da se znebimo dupliciranih vnosov, recimo za fprintf in printf je manpage isti, uporabimo +# +# f=`man -dS2,3 $v 2>&1 > /dev/null | grep ult_softlink | head -n1 | rev | cut -d/ -f1 | rev | cut -d. -f1` +# +# Celoten ukaz je torej sledeč: +t=`mktemp -td tekmovanje.XXXXXXX` +grep -Rno '[a-zA-Z_]*\s*(' . 2>/dev/null | cut -d: -f3 | grep -v '^($' | cut -d\( -f1 | cut -d' ' -f1 | sort | uniq \ + | while read v + do + f=`man -dS2,3 $v 2>&1 > /dev/null | grep ult_softlink | head -n1 | rev | cut -d/ -f1 | rev | cut -d. -f1` + e=${PIPESTATUS[0]} + [ ! $f ] && f=$v + [ $e -eq 0 ] && man -S 2,3 -Tpdf $f > $t/$f.pdf && pdfseparate -l 1 $t/$f.pdf $t/%dstran-$f.pdf && pdfcrop --margins "10 10 10 10" $t/1stran-$f.pdf $t/1stran-$f.pdf + done +pdfjam --nup 4x4 --outfile $t/združeni.pdf --clip true --frame true $t/1stran-*.pdf +pdfcrop --margins "20 10 10 20" $t/združeni.pdf $t/združeni.pdf +echo $t/združeni.pdf |