#####
##### reseni domacich ukolu
#####
# hw6.1)
cat > zdrojak_bc <<KONEC
define faktorial (x) {
  if (x <= 1) return 1;
  return faktorial(x-1) * x;
}
define spocitejnuly(x) {
  if(10*(x / 10) == x)
    return 1 + spocitejnuly(x/10);
  return 0;
}
define nulyvefaktorialu(x) {
  return spocitejnuly(faktorial(x));
}
KONEC
echo "faktorial(10)" | bc zdrojak_bc
echo "nulyvefaktorialu(10)" | bc zdrojak_bc

# hw6.2)
cat > zkonvertuj.sh <<KONEC
#!/bin/sh

cat "$1" | tr -d '\r' > "$2"
KONEC


#####
##### Cviceni:
#####

#
# xargs
#
# dalsi uroven abstrakce, muzeme menit data (stdin) na argumenty programu

# basic usage
# vytvorte soubory se jmeny 1 az 9
seq 9 | xargs touch 

# vytvorte soubory test1 .. test9
seq 9 | xargs -I% touch test% 
# postupne pousti touch, viz:
seq 9 | xargs -t -I% touch test% 
# nebo
seq 9 | xargs -I% echo test% 

# prejmenujte test* na atest* 
seq 9 | xargs -I% mv test% atest%
# nebo (za predpokladu, ze test* matchuje to co chceme)
ls test* | xargs -I% echo mv % a%

# vytvorte soubor
cat > soubor << EOF
a b c
d e f
g h i
EOF

# porovnejte vystupy
cat soubor | xargs -I% echo %
cat soubor | xargs -n 2 echo 		# po argumentech, up to 2
cat soubor | xargs -L 2 echo 		# po 2 radcich vstupu

# POZOR: -I -n a -L jsou mutually exclusive!
# v potaz se bere posledni option:
cat soubor | xargs -n 2 -I% echo %
cat soubor | xargs -I% -n 2 echo %

#
# find
# (hodne inspirovane/zkopirovane z cvik Tomase Popa)
#

#Pomocí příkazu find nalezněte ve stromu začínajícím v
#/etc soubor "httpd.conf"

find /etc -name 'httpd.conf'

# co udela?
find /etc -name '*.conf'

# bez chybovych hlasek
find /etc -name '*.conf' 2>/dev/null

# najdete slozky (typ souboru) s 'am' v nazvu 
find /etc -name '*am*' -type d

# V podstromu /etc prohledejte konfigurační soubory
# (*.conf) a zjistěte, kde je řetězec "OVERRIDE"). Chci výpis, kde
# bude u každé řadky vidět, v jakém souboru byl řetězec nalezen.

# grepu se predaji vsechny soubory nalezene findem
find /etc -name '*.conf' -exec grep -e OVERRIDE {} +
# porovnejte s vystupem (grepu se vzdy preda jeden soubor)
find /etc -name '*.conf' -exec grep -e OVERRIDE {} \;
# a s vystupem (grepu se predaja prave dva soubory - nalezeny a /dev/null)
find /etc -name '*.conf' -exec grep -e OVERRIDE {} /dev/null \;
