You are on page 1of 5

Tu budem pridva lohy, ktor rieim pred prvm testom, aby som sa na pripravil.

lohy su
bran zo starch fr a testov. Snam sa overi ich sprvnos, a potom ich sem pridm. Mono to
niekomu pome.
lohy z tejto strnky: https://www.fiitkar.sk/forum/viewtopic.php?f=765&t=8771
1.Koko znakov obsahuje "tento riadok".
CODE: SELECT ALL
echo -n "tento riadok" | wc -c
2.Koko znakov obsahuje manulov strnka csh
CODE: SELECT ALL
man csh | wc -c
3.U uvedenom adresari najdite podadresar s najmenou(alebo najvou?) vekosou v
byteoch
CODE: SELECT ALL
# Poda fiitkara: (asi nesprvne)
find PATH -type d -printf "%s \n" | sort -n | head -n1
# Poda ma je to takto (ur najv):
find PATH -type d -printf "%s\n" 2>/dev/null | sort -n | tail -n 1
4.Koko riadkov v nejakom sbore obsahuje aspo jedno slovo, ktor sa sklad z 11
znakov?
CODE: SELECT ALL
# Poda fiitkara: (asi nesprvne)
grep -E "\<[^[:space:]]{11}\>" subor.txt
# Poda ma je to takto:
grep -cE "\<[[:alnum:]]{11}\>" subor.txt
5.Koko slov sa sklad len z malch psmen?
CODE: SELECT ALL
# Poda fiitkara: (asi nesprvne)
tr -c '[[:alpha:]]' '\n' < /home/OS/predtest/vstupy/ccero10.txt | grep -cE "^[a-z]+ *"
# Poda ma je to takto:
tr -cs '[[:alpha:]]' '\n' < /home/OS/predtest/vstupy/ccero10.txt | grep -cE "\<[a-z]+\>"
6.V nejakom adresri njdite obyajn sbor s najkratou dkou cesty a dku vypte.
CODE: SELECT ALL
find PATH -type f | awk '{print length}' | sort -n | head -n1
# Bez pouitia awk:
find PATH -type f -exec sh -c "echo -n {} | wc -c" \; | sort -n | head -n1 | tr -d " "
7.Koko anglickch zporov sa nachdza v sbore
/home/OS/predtest/vstupy/ccero10.txt (sbor je len vzorov)
CODE: SELECT ALL

# Poda fiitkara: (asi nesprvne, lebo nepota, e bude viac slov zo zporom na jednom riadku)
grep -ic '\<no[tn]\?\>' /home/OS/predtest/vstupy/ccero10.txt
# Poda ma:
tr -c "[:alpha:]" "\n" < /home/OS/predtest/vstupy/ccero10.txt | grep -ic "\<no[tn]\?\>"
8.Zistite pocet prazdnych riadkov v subore /home/OS/predtest/vstupy/ccero10.txt
CODE: SELECT ALL
Poda fiitkara:
grep -vc '[[:print:]]' /home/OS/predtest/vstupy/ccero10.txt
# Ak za przdny riadok rtame aj tak, kde je medzera alebo in biele znaky:
grep -c "^[[:space:]]*$" /home/OS/predtest/vstupy/ccero10.txt
9.V adresari /home/OS/predtest najdite take adresare ktore maju aspon 5 priamych
podadresarov (pocitaju sa len podadresare adresara) a spocitajte ich
CODE: SELECT ALL
find /home/OS/predtest -type d -mindepth 6 | wc -l | tr -d " "
10.Kolko slov ma subor /home/OS/predtest/vstupy/ccero10.txt
CODE: SELECT ALL
wc -w < /home/OS/predtest/vstupy/ccero10.txt
11.Na kolkych riadkoch v subore /home/OS/predtest/vstupy/ccero10.txt koncia aspon 2
vety
CODE: SELECT ALL
# Poda fiitkara: (asi nesprvne, lebo ozna za 2 vety aj tento riadok: ftp mrcnext.cso.uiuc.edu
# alebo tento: GET INDEX?00.GUT
# Taktie sa tu nemysl na to, e veta me koni "!!!" alebo "..."
grep -c '\<.*\>[\.\!\?].*\<.*\>[\.\!\?]' /home/OS/predtest/vstupy/ccero10.txt
# Poda ma:
grep -cE "\<.*\>[\.\?\!]+[ ]+.*\<.*\>[\.\?\!]+" /home/OS/predtest/vstupy/ccero10.txt
12.Na kolkych riadkoch subora /home/OS/predtest/vstupy/ccero10.txt su aspon 2 slova
ktore maju 3 znaky?
CODE: SELECT ALL
# Poda fiitkara: (asi nesprvne)
grep -c '\<[a-zA-Z]\{3\}.*\<[a-zA-Z]\{3\}\>' /home/OS/predtest/vstupy/ccero10.txt
# Poda ma je to takto:
grep -c "\<...\>.*\<...\>" /home/OS/predtest/vstupy/ccero10.txt
13.Kolko znakov ma prvy riadok suboru /home/OS/predtest/vstupy/ccero10.txt ?
CODE: SELECT ALL
head -1 /home/OS/predtest/vstupy/ccero10.txt | tr -d "\n" | wc -c | tr -d " "
14.Poet znakov na druhom riadku sboru.
CODE: SELECT ALL
head -n 2 subor.txt | tail -n 1 | tr -d "\n" | wc -c | tr -d " "

15.Poet riadkov zanajcich sa na mal psmeno.


CODE: SELECT ALL
grep -c "^[a-z]" subor
16.V adresri njs vekos najmenieho adresra.
CODE: SELECT ALL
# Poda ma, vekos je v kB:
find PATH -mindepth 1 -type d -exec du -sk {} \; 2>/dev/null | sort -n | head -n 1 | cut -f 1
17.Njs najastejie pouvan shell na OSe (vypsa len jeho nzov, nie cestu).
CODE: SELECT ALL
cut -d: -f7 /etc/passwd | sort | uniq -c | sort -n | tail -n1 | tr "/" "\n" | tail -n1
18.Koko obyajnch sborov je v adresri ktor sa nevolaj "nejaky"
CODE: SELECT ALL
find /home/OS/predtest -type f -not -name "nejaky" | wc -l | tr -d " "
19.Njs slovo ktor sa v sbore vyskytuje najastejie a vypsa koko krt sa opakuje
CODE: SELECT ALL
tr -cs "[:alnum:]" "\n" < subor.txt | sort | uniq -c | sort -n | tail -n1 | tr -dc "[:digit:]"
20.Koko slov v sbore je napsanch len vekmi psmenami
CODE: SELECT ALL
tr -c "[:alnum:]" "\n" < subor.txt | grep -cE "\<[A-Z]+\>"

lohy z tejto strnky: https://www.fiitkar.sk/forum/viewtopic.php?f=765&t=8768


21.Kolko riadkov obsahuje subor na ktorych su aspon dve slova malymi pismenami.
CODE: SELECT ALL
grep -E "\<[a-z]+\>.*\<[a-z]+\>" subor.txt | wc -l
22.Kolko adresarov je v adresari a podadresaroch /home/OS/ktositomakurvapamatat,
ktore nepatria do skupiny os2002
CODE: SELECT ALL
find /home/OS/.... -type d -not -group os2002 | wc -l
23.Kolko suborov je v adresari /home/OS/ktositomakurvapamatat, ktore niesu obycajne
subory
CODE: SELECT ALL
find /home/OS/..... -not -type f | wc -l
# Pozn.: alebo kuknete /etc/group zistite cislo skupiny a vygrepujete :cislo_skupiny:
24.Zistite kolko existuje pouzivatelov, ktory patria do skupiny os2002. Hladame zo
vsetkych kont.
CODE: SELECT ALL
grep "os2002" /etc/passwd | wc -l
25.Koko uvateov je prve prihlsench

CODE: SELECT ALL


# Poda Ricsieho:
users | wc -w
26.Zratat obycajne binarne subory(prikaz file ich oznaci ako "data")
CODE: SELECT ALL
# Poda ma:
find /home/OS/predtest -type f -exec file {} \; | grep ": data$" | wc -l
27.V adresari a podadresaroch zistit kolko adresarov v nich ma nazov konciaci sa
cislom. (tak nejak)
CODE: SELECT ALL
# Poda ma:
find /home/OS/predtest -type d -regex ".*[0-9]" | wc -l
28.Kolko znakov ma premenna test = `ls -l /`, rieste z pohladu shellu.
CODE: SELECT ALL
# Plat len pre C shell
set test = `ls -l/` ; echo $#test
Princp spracovania takchto loh:
CODE: SELECT ALL
csh
set veta = (Toto je veta, lol.); echo $#veta;
bash
veta=(Toto je veta, lol muhehe.); echo ${#veta[*]};
29.Koko je v danom adresri sborov inch ako adresrov?
CODE: SELECT ALL
# Poda ma:
find /home/OS/predtest -not -type d | wc -l
30.Kolko je riadkov v subore ktor obsahuju slovo zo 7mych znakov?
CODE: SELECT ALL
# Poda ma
grep -cE "\<[[:alpha:]]{7}\>" subor.txt
31.Zratat kolko pismen 'f' sa nachadza v subore
CODE: SELECT ALL
#Poda ma:
tr -cs "f" "\n" < subor.txt | tr -d "\n" | wc -c
# Lepie rieenie od Vetyy:
tr -dc "f" < file.txt | wc -c

loha z tejto strnky: https://www.fiitkar.sk/forum/viewtopic.php?f=578&t=6511


32.Kolko podadresarov obsahuje viac ako 3 obycajne subory. v konkretnom
podadresari pracujte len so subormi, ktore su priamo v nom
CODE: SELECT ALL

# Poda ma:
find PATH -type d -mindepth 1 -exec sh -c "find '{}' -type f -maxdepth 1 | wc -l" \; | grep -cv "\<[02]\>"

lohy z tejto strnky: https://www.fiitkar.sk/forum/viewtopic.php?f=418&t=4853


33.Kolko suborov je v adresari ktore patria do skupiny os2000
CODE: SELECT ALL
# Poda fiitkara:
ls -la `find adresar -type f` | awk '{print $4(nie som si isty ale ma tam byt cislo stlpca kde je
skupina)}' | grep -c os2000
# Poda ma, bez pouitia awk:
ls -la `find adresar -type f -maxdepth 1` | tr -s " " | cut -d " " -f4 | grep -c "os2000"
34.Napiste pocet obycajnych suborov a symbolickych liniek v adresari adresar
CODE: SELECT ALL
find adresar -type f -or -type l | wc -l
35.Napiste pocet prihlasenych pouzivatelov zo subora subor
CODE: SELECT ALL
# Poda fiitkara:
who subor | wc -l
36.Toto NEBUDE na teste, ale len tak na pobavenie: V adresari
/home/OS/test/vstupy/test1 a jeho podadresaroch zistite adresar (adresare), v ktorom
je suma poctov slov vsetkych obycajnych suborov najmensia a uvedte tuto sumu. V
konkretnom adresari pracujte len so subormi, ktore su priamo v nom.
CODE: SELECT ALL
# Ak toto zvldneme, tak budeme za vodou o sa OS tka :D
# Poda fiitkara:
find "/home/OS/test/vstupy/test1" -type d -exec sh -c 'find "$1" -type f -maxdepth 1 -exec wc -w \
{\} \; | awk '"'"'{cnt+=$1} END {print cnt}'"'" "{}" "{}" \; -print | awk '{if(NR%2==1) ORS=" ";
else ORS="\n"; print $0}' | sort -n | awk '{if($1=="") print "0",$2; else print $1,$2;}' | awk
'{if(NR==1) t=$1} $1==t{print}'

You might also like