#!/bin/bash
# toto je poslední funkční definitivní verze z 2020-01-25

cisloradky=0 # 1/0 zobrazi cislo radky	
oriznout=1                                #0=zachová / 1=orizne čísla veršu - dobré pro kontrolu
mobil1="<big><big><big><big><big>"
mobil2="</big></big></big></big></big>"
mobil3="_mobil"
mobil3="_kontrola" #suffix ke jmenu souboru
mobil1=""
mobil2=""
mobil3=""

davka="5" # skutky
davka="4 5" # jan skutky
davka="1 2 3 4 5"
davka="1 2 3 4 5 27 30 31"
davka="27" #Apokalypsa
davka="30" # cely NZ
davka="29" # pokus
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...


r1=( "Matouš" 	"Matouš" 	"matous"  	1 	 1071 )
r2=( "Marek" 	"Marek" 	"marek" 	1072 1749 )
r3=( "Lukáš" 	"Lukáš" 	"lukas"  	1750 2900 )
r4=( "Jan" 		"Jan" 		"jan"  		2901 3779 )
r5=( "Skutky apoštolů" "Skutky apoštolské" "skutky"  3780 4786 )
r6=( "Římanům" 		"List Římanům" 			"rimanum"  4787 5219 )
r7=( "1 Korintským" "1. List Korintským" 	"1korintskym"  5220 5656 )
r8=( "2 Korintským" "2. List  Korintským" 	"2korintskym"  5657 5913 )
r9=( "Galatským" 	"List Galatským" 		"galatskym"  5914 6063 )
r10=( "Efezským" 	"List Efezským" "efezskym"  6064 6218 )
r11=( "Filipským" 	"List Filipským" "filipskym"  6219 6322 )
r12=( "Koloským" 	"List Koloským" "koloskym"  6323 6417 )
r13=( "1 Tesalonickým" "1. List Tesalonickým" "1tesalonickym"  6418 6506 )
r14=( "2 Tesalonickým" "2. List Tesalonickým" "2tesalonickym"  6507 6553 )
r15=( "1 Timoteovi" "1. List Timoteovi" "1timoteovi"  6554 6666 )
r16=( "2 Timoteovi" "2. List Timoteovi" "2timoteovi"  6667 6749 )
r17=( "Titovi" "List Titovi" "titovi"  6750 6795 )
r18=( "Filemonovi" "List Filemonovi" "filemonovi"  6796 6820 )
r19=( "Židům" "List Židům" "zidum"  6821 7123 )
r20=( "Jakubův" "List Jakubův" "jakubuv"  7124 7231 )
r21=( "1 Petrův" "1. List Petrův" "1petruv"  7232 7336 )
r22=( "2 Petrův" "2. List Petrův" "2petruv"  7337 7397 )
r23=( "1 Janův" "1. List Janův" "1januv"  7398 7502 )
r24=( "2 Janův" "2. List Janův" "2januv"  7503 7515 )
r25=( "3 Janův" "3. List Janův" "3januv"  7516 7530 )
r26=( "Judův" "List Judův" "juduv"  7531 7555 )
r27=( "Zjevení Janovo" 	"Zjevení Janovo - Apokalypsa" 	"apokalypsa" 7556 	7960 )
r29=( "Pokus - smazat" "Pokus"	"odpad" 			1 		79 )
r30=( "Celý Nový Zákon" "Celý Nový Zákon"	"nz" 			1 		7960 )
r31=( "Evangelia a Skutky" 	"evangelia_skutky" 				1 		4786 )


# 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"

FILENAME50="$soubor.htm"
echo > $FILENAME50

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 {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

cat hlavicka.htm  			>&50 
echo "<h1>$dlouhy</h1>" 	>&50

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
	if [ $i -lt $zacatek ];then
		continue # preskoci nepotrebne radky
	fi
	(( $cisloradky )) && cisloradkytxt="($i)" # je-li treba, vygeneruje cisla radek do citace
	
# 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 
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 
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' ' ') #
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}
    echo  "<span class=cit>$CEP_cast1 $cisloradkytxt</span>" 					>&50 #&{FD5}
    echo  "<p class=heb>$mobil1''$hnv_cast2''$mobil2</p>" 						>&50 #&{FD5}
    echo  "<p class=h2v>$mobil1''$H2V_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}
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 50<&-    

} # konce function ukol

# main {}: 
for d in $davka 
	do 
	echo
# 	Nacte informace o knize ci ukolu z db vyse.
	kratky="$(bunka $d 1)"
	dlouhy="$(bunka $d 2)"
	soubor="$(bunka $d 3)$mobil3"
	zacatek="$(bunka $d 4)"
	konec="$(bunka $d 5)"
	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)"
	if [ $soubor == nz ]; then 
		mv nz.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 
}