#!/bin/bash # toto je poslední funkční definitivní verze z 2021-08-05 davka="1 2 3 4 5 27 30 31" davka="4 5" # jan skutky davka="21 22 23 24 25 26 27 30 31" # experimenty davka="8" # 2Cor - chyby v HHH davka="30" # cely NZ jako jeden soubor davka="29" # pokus 29 - pouze 300 uvodnich radku davka="27" #Apokalypsa davka="5" # skutky davka="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 30 31" # vse, komplet total... davka="1 2 3 4 5" mobil=0 #1/0 0=nevhodné pro mobil mobil=1 #1/0 1=vhodné pro mobil cisloradky=1 cisloradky=0 # 1/0 vedle verse zobrazi cislo radky souboru, aby se dalo urcit, kde je chyba v knihach NZ oriznout=0 oriznout=1 #0=zachová / 1=orizne čísla veršu - dobré pro kontrolu soubor_texttmp="/dev/shm/text.tmp" soubor_obsahtmp="/dev/shm/obsah.tmp" if [ $mobil -eq 0 ];then mobil_class="" # normalne jsou styly bez m, napr. heb mobil1="" mobil2="" mobil3="" else mobil_class="m" # pro mobil konci na m, napr. hebm mobil1="<big><big><big>" mobil2="</big></big></big>" mobil3="_mobil" fi # mobil3="_kontrola" #suffix ke jmenu souboru r1=( "Matouš" "Matouš" "matous" "Mt" 1 1071 ) r2=( "Marek" "Marek" "marek" "Mk" 1072 1749 ) r3=( "Lukáš" "Lukáš" "lukas" "Lk" 1750 2900 ) r4=( "Jan" "Jan" "jan" "J" 2901 3779 ) r5=( "Skutky apoštolů" "Skutky apoštolské" "skutky" "Sk" 3780 4786 ) r6=( "Římanům" "List Římanům" "rimanum" "R" 4787 5219 ) r7=( "1 Korintským" "1. List Korintským" "1korintskym" "1Ko" 5220 5656 ) r8=( "2 Korintským" "2. List Korintským" "2korintskym" "2Ko" 5657 5913 ) r9=( "Galatským" "List Galatským" "galatskym" "Ga" 5914 6063 ) r10=( "Efezským" "List Efezským" "efezskym" "Ef" 6064 6218 ) r11=( "Filipským" "List Filipským" "filipskym" "Fi" 6219 6322 ) r12=( "Koloským" "List Koloským" "koloskym" "Ko" 6323 6417 ) r13=( "1 Tesalonickým" "1. List Tesalonickým" "1tesalonickym" "1Te" 6418 6506 ) r14=( "2 Tesalonickým" "2. List Tesalonickým" "2tesalonickym" "2Te" 6507 6553 ) r15=( "1 Timoteovi" "1. List Timoteovi" "1timoteovi" "1Tm" 6554 6666 ) r16=( "2 Timoteovi" "2. List Timoteovi" "2timoteovi" "2Tm" 6667 6749 ) r17=( "Titovi" "List Titovi" "titovi" "Ti" 6750 6795 ) r18=( "Filemonovi" "List Filemonovi" "filemonovi" "Fi" 6796 6820 ) r19=( "Židům" "List Židům" "zidum" "Zi" 6821 7123 ) r20=( "Jakubův" "List Jakubův" "jakubuv" "Ja" 7124 7231 ) r21=( "1 Petrův" "1. List Petrův" "1petruv" "1Pe" 7232 7336 ) r22=( "2 Petrův" "2. List Petrův" "2petruv" "2Pe" 7337 7397 ) r23=( "1 Janův" "1. List Janův" "1januv" "1J" 7398 7502 ) r24=( "2 Janův" "2. List Janův" "2januv" "2J" 7503 7515 ) r25=( "3 Janův" "3. List Janův" "3januv" "3J" 7516 7530 ) r26=( "Judův" "List Judův" "juduv" "Ju" 7531 7555 ) r27=( "Zjevení Janovo" "Zjevení Janovo - Apokalypsa" "apokalypsa" "Zj" 7556 7960 ) r29=( "Pokus - smazat" "Pokus" "odpad" "Po" 1 300 ) r30=( "Celý Nový Zákon" "Celý Nový Zákon" "novy_zakon" "Nz" 1 7960 ) r31=( "Evangelia a Skutky" "Evangelia a Skutky" "evangelia_skutky" "ES" 1 4786 ) # echo > hlavicka.tmp # echo "<a name=zzz>" > $soubor_obsahtmp # na začátek knihy vlozi # > $soubor_obsahtmp # echo > $soubor_texttmp # grep -n "^Marek" cep_poznamky_NT.txt | tee -i -p warn >(head -n 1 >&1) >(tail -n 1 >&1) >/dev/null | sed -n -r 's/(^[0-9]*):.*/\1/p' # vygeneruje prvni a posledni vers # 1072 # 1749 function bunka # (radka sloupec) { radka="$1" sloupec="$2" sloupec=$(( $sloupec - 1 )) eval echo \${r${radka}[sloupec]} # napred expanduje, například na "echo ${r3[1]}", a pak vyhodnoti } # echo '$(bunka 3 3) nebo ${r3[4]}' # dva zpusoby vypisu function ukol { #--------------------------------------------------------------- FILENAME1="new_hebrew_NT_nekudot2.txt" FILENAME4="new_hebrew_NT_nekudot.txt" FILENAME2="kralicka_NT.txt" FILENAME3="cep_poznamky_NT.txt" FILENAME6="textus_receptus_morfology_doplneny.txt" FILENAME7="peshitto.txt" FILENAME8="Habrit-Hakhadasha-Haderekh_nekudot.txt" # FILENAME8="Habrit-Hakhadasha-Haderekh.txt" # FILENAME8="Habrit-Hakhadasha-Haderekh_nekudot.txt" FILENAME50="$soubor_texttmp" # echo > $FILENAME50 cislo_knihy=0 exec {FD1}<${FILENAME1} # open file for read, assign descriptor echo "Opened ${FILENAME1} for read using descriptor ${FD1}" exec {FD2}<${FILENAME2} # open file for read, assign descriptor echo "Opened ${FILENAME2} for read using descriptor ${FD2}" exec {FD3}<${FILENAME3} # open file for read, assign descriptor echo "Opened ${FILENAME3} for read using descriptor ${FD3}" exec {FD4}<${FILENAME4} # open file for read, assign descriptor echo "Opened ${FILENAME4} for read using descriptor ${FD4}" exec {FD6}<${FILENAME6} # open file for read, assign descriptor echo "Opened ${FILENAME6} for read using descriptor ${FD6}" exec {FD7}<${FILENAME7} # open file for read, assign descriptor echo "Opened ${FILENAME7} for read using descriptor ${FD7}" exec {FD8}<${FILENAME8} # open file for read, assign descriptor echo "Opened ${FILENAME8} for read using descriptor ${FD8}" # exec {FD5}>>${FILENAME5} # open file for write append, assign descriptor exec 50>>${FILENAME50} # open file for write append, assign descriptor echo "Opened ${FILENAME50} for write/append using descriptor 50" # http://tldp.org/LDP/abs/html/io-redirection.html for i in $( seq 1 $konec) do echo -e -n "$i\r" ; # prubezne vypisuje cislo radky, kterou zpracovava read -u ${FD1} LINE1 read -u ${FD2} LINE2 read -u ${FD3} LINE3 read -u ${FD4} LINE4 read -u ${FD6} LINE6 read -u ${FD7} LINE7 read -u ${FD8} LINE8 # vytvorime dve verze citace # hnv_cast1=$(echo -n ${LINE1} | sed -E 's/(^\[.*\]) (.*)/\1/' | tr '\n' ' ') CEP_cast1=$(echo -n ${LINE3} | sed -E 's/([^:]*:[0-9]+) (.*)$/\1/' | tr '\n' ' ') # '[^:]*' = najdi vsechny nedvojtecky od zacatku radky cislokapitoly=$(sed -n -E 's/.* ([0-9]+):1$/\1/p' <<< $CEP_cast1) # najde prvni vers a cislo kapitoly if [ ! "$cislokapitoly" == "" ]; then # echo "<span class=cit><a href=#zzz>Zpět</span>" >&50 #&{FD5} na konec každé kapitoly odskok na zacatek souboru if [ $cislokapitoly -eq 1 ]; then cislo_knihy=$(( $cislo_knihy + 1 )) zkratka="$(bunka $cislo_knihy 4)" kniha="$(bunka $cislo_knihy 1)" if [ $i -ge $zacatek ];then echo -e "</p>\n<h1>$kniha</h1>\n<p class=heb>" >>$soubor_obsahtmp fi fi cislokapitolytxt="$zkratka$(numfmt --format '%02f' $cislokapitoly)" if [ $i -ge $zacatek ];then echo "<a href=#$cislokapitolytxt>$cislokapitoly</a> " >> $soubor_obsahtmp # vlozi zacatky kapitol fi fi if [ $i -lt $zacatek ];then continue # preskoci nepotrebne radky fi (( $cisloradky )) && cisloradkytxt="($i)" # je-li treba, vygeneruje cisla radek do citace if [ $oriznout -eq 1 ]; then hnv_cast2=$(echo -n ${LINE1} | sed -E 's/(^\[.*\]) (.*)/\2/' | tr '\n' ' ') kra_cast2=$(echo -n ${LINE2} | sed -E 's/[^:]*:[0-9]+ (.*)$/\1/' | tr '\n' ' ') CEP_cast2=$(echo -n ${LINE3} | sed -E 's/[^:]*:[0-9]+ (.*)$/\1/' | tr '\n' ' ') # '[^:]*' = najdi vsechny nedvojtecky od zacatku radky H2V_cast2=$(echo -n ${LINE4} | sed -E 's/[^:]*:[0-9]+ (.*)$/\1/' | tr '\n' ' ') # '[^:]*' = najdi vsechny nedvojtecky od zacatku radky TR_cast2=$( echo -n ${LINE6} | sed -E 's/[^:]*:[0-9]+ (.*)$/\1/' | tr '\n' ' ') # '[^:]*' = najdi vsechny nedvojtecky od zacatku radky PST_cast2=$(echo -n ${LINE7} | sed -E 's/[^:]*:[0-9]+ (.*)$/\1/' | tr '\n' ' ') # '[^:]*' = najdi vsechny nedvojtecky od zacatku radky # HHH_cast2=$(echo -n ${LINE8} | sed -r 's/[^\t]*\t//' | tr '\n' ' ') # '[^:]*' = najdi vsechny nedvojtecky od zacatku radky HHH_cast2=$(echo -n ${LINE8} | sed -r 's/[^\ ]*\ //' | tr '\n' ' ') # '[^:]*' = najdi vsechny nedvojtecky od zacatku radky # echo "HHH_cast2>>>$HHH_cast2<<<" # read else # neoriznute radky slouzi k parovani versu hnv_cast2=$(echo -n ${LINE1} | tr '\n' ' ') # kra_cast2=$(echo -n ${LINE2} | tr '\n' ' ') # CEP_cast2=$(echo -n ${LINE3} | tr '\n' ' ') # H2V_cast2=$(echo -n ${LINE4} | tr '\n' ' ') # TR_cast2=$( echo -n ${LINE6} | tr '\n' ' ') # PST_cast2=$(echo -n ${LINE7} | tr '\n' ' ') # HHH_cast2=$(echo -n ${LINE8} | tr '\n' ' ') # fi # Toto je vlastni export, zde si muzete navolit, ktere radky chcete mit a v jakem poradi: # echo "<span class=cit>$hnv_cast1</span>" >&50 #&{FD5} if [ ! "$cislokapitoly" == "" ]; then echo "<a name=$cislokapitolytxt>" >&50 #&{FD5} # echo "<span class=cit><a href=#zzz>$CEP_cast1 $cisloradkytxt</a></span>" >&50 #&{FD5} echo "<p class=cit><a href=#zzz>$CEP_cast1 $cisloradkytxt</a></p>" >&50 #&{FD5} else # echo "<span class=cit>$CEP_cast1 $cisloradkytxt</span>" >&50 #&{FD5} echo "<p class=cit>$CEP_cast1 $cisloradkytxt</p>" >&50 #&{FD5} fi # echo "<span class=cit><a href=#zzz>Zpět</span>" >&50 #&{FD5} na konec každé kapitoly odskok na # if [ ! "$cislokapitoly" == "" ]; then echo "<p class=heb$mobil_class>$mobil1$hnv_cast2$mobil2""</p>" >&50 #&{FD5} echo "<p class=h2v$mobil_class>$mobil1$H2V_cast2$mobil2""</p>" >&50 #&{FD5} echo "<p class=hhh$mobil_class>$mobil1$HHH_cast2$mobil2""</p>" >&50 #&{FD5} echo "<p class=kra>$kra_cast2</p>" >&50 #&{FD5} echo "<p class=cep>$CEP_cast2</p>" >&50 #&{FD5} echo "<p class=tr>$TR_cast2</p>" >&50 #&{FD6} echo "<p class=pst>$PST_cast2</p><hr>" >&50 #&{FD7} # echo "<p class=hhh>$HHH_cast2</p><hr>" >&50 #&{FD7} done # zaverecne logo echo "<p><img src=http://klimes.mysteria.cz/zpravodaj/logo_jk.php> </BODY></HTML>" >&50 echo Close files exec {FD1}<&- exec {FD2}<&- exec {FD3}<&- exec {FD4}<&- # exec {FD5}<&- exec {FD6}<&- exec {FD7}<&- exec {FD8}<&- exec 50<&- } # konce function ukol # main {}: for d in $davka do echo echo > $soubor_obsahtmp echo > $soubor_texttmp # vymaz soubory # Nacte informace o knize ci ukolu z db vyse. kratky="$(bunka $d 1)" dlouhy="$(bunka $d 2)" soubor="$(bunka $d 3)$mobil3" # mobil3 je fakultativni doplnek zkratka="$(bunka $d 4)" zacatek="$(bunka $d 5)" konec="$(bunka $d 6)" echo "Zacinam ukol $d - $dlouhy - $(date +%Y-%m-%d_%H-%M-%S)" ukol $d echo "Koncim_ ukol $d - $dlouhy - $(date +%Y-%m-%d_%H-%M-%S)" echo -e "</p><hr>\n" >> $soubor_obsahtmp # ukonci soubor s obsahem cat hlavicka.htm $soubor_obsahtmp $soubor_texttmp > $soubor".htm" echo $soubor".htm je hotov." if [ "$soubor" == "novy_zakon" ]; then mv novy_zakon.htm novy_zakon_nh_nt_nekudot_kralicka_cep_pesita.htm zip novy_zakon_nh_nt_nekudot_kralicka_cep_pesita.zip novy_zakon_nh_nt_nekudot_kralicka_cep_pesita.htm fi done exit function vyexportovat tabulku { # toto jsou pomocne procedury, pokud jsou treba... # sed -n -r 's/(^[0-9]? ?[[:alpha:]]*\ ?([[:alpha:]]*)) [0-9]+:[0-9]+.*/\1/p' cep_poznamky_NT.txt | uniq # toto najde nazvy biblickych knih seznam="Matouš Marek Lukáš Jan Skutky apoštolské Římanům 1 Korintským 2 Korintským Galatským Efezským Filipským Koloským 1 Tesalonickým 2 Tesalonickým 1 Timoteovi 2 Timoteovi Titovi Filemonovi Židům Jakubův 1 Petrův 2 Petrův 1 Janův 2 Janův 3 Janův Judův Zjevení Janovo" i=0 while read do ((i++)) kratky=$REPLY dlouhy=$REPLY bezmezer="$(tr -d " " <<< "$REPLY" | tr '[:upper:]' '[:lower:]'| iconv -f UTF-8 -t ASCII//TRANSLIT )" soubor=${bezmezer,,}$mobil3 # bezmezer a lower case zacatek=$(grep -n "^$kratky" cep_poznamky_NT.txt | head -n 1 | sed -n -r 's/(^[0-9]? ?[0-9]*):.*/\1/p') konec=$( grep -n "^$kratky" cep_poznamky_NT.txt | tail -n 1 | sed -n -r 's/(^[0-9]? ?[0-9]*):.*/\1/p') echo "r$i=( \"$kratky\" \"$dlouhy\" \"$soubor\" $zacatek $konec )" # vygeneruje db vyse done <<< "$seznam" exit }