#!/bin/bash
##########################################################
#          Vypise vyhovujuce n-gramy slov (BASH)         #
##########################################################


##################### Konfiguracia #######################

#testovanie: vstupny subor
vstup_slova="vstup.txt"

# hladam n-gram
n=4

###################### Spracovanie ########################

# nacita slova
readarray slova < $vstup_slova || exit 1

# pre kontrolu vypise vstup
#slov ${slova[@]}

pocet_slov=${#slova[@]}

# prechadza zoznam
for (( a=0; a < $pocet_slov; a++))
do

	# pocet vyskytov za sebou
	za_sebou=1

	# kolko dalsich sa zhoduje
	for (( b=$a+1; b < $pocet_slov; b++)) do
		if [ "x${slova[$a]}" != "x${slova[$b]}" ]; then
			break
		fi

		let za_sebou++
	done

	# testovanie: vypise vyskyt vsetkych slov za sebou
	#printf "%05d ${slova[$a]}" $za_sebou

	# ak je za sebou tolko aky hladame n-gram, tak ho vypiseme
	if [ $za_sebou = $n ]; then
		echo ${slova[$a]}
	fi

	# preskoci rovnake polozky za sebou 
	if [ $za_sebou -gt 2 ]; then
		let a+=za_sebou-1;
	fi
done

