consolidate all repos to one for archive
This commit is contained in:
52
semester_2/uvod_v_operacijske_sisteme/naloga_03/README.md
Normal file
52
semester_2/uvod_v_operacijske_sisteme/naloga_03/README.md
Normal file
@@ -0,0 +1,52 @@
|
||||
Programiranje v Bash (sprotna naloga)
|
||||
|
||||
V sklopu te naloge demonstrirajte poznavanje programiranja v lupini Bash. Pripravite 6 skript, ki izvedejo v nadaljevanju opisane naloge.
|
||||
|
||||
Na sistem oddajte .zip paket s 6 skriptami: naloga_1.sh, naloga_2.sh, ..., naloga_6.sh. Bodite pozorni na poimenovanja, ta morajo točno ustrezati predpisanim naslovom. Pred oddajo preverite delovanje z avtomatskim preizkusom.
|
||||
naloga_1.sh
|
||||
|
||||
Skripta bo prejela dva argumenta z ukazne vrstice. Ta argumenta preberete kot spremenljivki $1 in $2. V spremenljivko a zapišite niz:
|
||||
|
||||
"prejeli smo <prvi argument> in <drugi argument>"
|
||||
|
||||
Z ukazom echo nato izpišite vsebino spremenljivke a. Primer uporabe:
|
||||
|
||||
$ bash naloga_1.sh nekaj drugega
|
||||
prejeli smo nekaj in drugega
|
||||
|
||||
naloga_2.sh
|
||||
|
||||
Izhod ukaza ls shranite v spremenljivko kot tabelo. S pomočjo indeksiranja izpišite prve tri elemente (prve tri vnose, ki jih izpiše ls). Nato izpišite besedo "itd.".
|
||||
naloga_3.sh
|
||||
|
||||
Skripta bo prejela tri argumente. Za vsak argument preverite ali je veljavna pot do zbirke in ali imate pravico prebrati njeno vsebino. V kolikor jo lahko, izpišite njeno vsebino s cat. Izpišite tudi kratko sporočilo:
|
||||
|
||||
<pot do zbirke>:
|
||||
<vsebina>
|
||||
|
||||
V nasprotnem primeru izpišite ustrezno opozorilo:
|
||||
|
||||
<pot do zbirke> ni veljavna zbirka
|
||||
|
||||
ali
|
||||
|
||||
<pot do zbirke> ni mogoce brati
|
||||
|
||||
naloga_4.sh
|
||||
|
||||
Z zanko obdelajte vse argumente, ki so skripti podani preko ukazne vrstice. Za vsak argument preverite ali ima končnico sh. V tem primeru ga izvedite kot skripto, z ukazom bash.
|
||||
naloga_5.sh
|
||||
|
||||
Izpišite vse zbirke v trenutnem kazalu tako, da ločite ime in končnico zbirke. Za zbirke zbirka_1.sh, zbirka_2.db.ext, zbirka_3.ext pričakujemo izpis:
|
||||
|
||||
$ bash naloga_5.sh
|
||||
zbirka_1 ima koncnico sh
|
||||
zbirka_2.db ima koncnico ext
|
||||
zbirka_3 ima koncnico ext
|
||||
|
||||
naloga_6.sh
|
||||
|
||||
V kazalu Slike najdete slike, katere je fotoaparat poimenoval z časom zajema. Imena so v obliki YYYYMMDD_hhmmss.jpg, kjer je YYYY leto, MM mesec, DD dan, hh ura, mm minuta in ss sekunda zajema.
|
||||
|
||||
Ustvarite ustrezna kazala in razvrstite slike v poti: Slike/YYYY/MM/DD/hh_mm_ss.jpg.
|
||||
|
@@ -0,0 +1,2 @@
|
||||
a="prejeli smo $1 in $2"
|
||||
echo $a
|
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
array=($(ls))
|
||||
echo ${array[0]}
|
||||
echo ${array[1]}
|
||||
echo ${array[2]}
|
||||
echo itd.
|
39
semester_2/uvod_v_operacijske_sisteme/naloga_03/naloga_3.sh
Normal file
39
semester_2/uvod_v_operacijske_sisteme/naloga_03/naloga_3.sh
Normal file
@@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
if [ -f "$1" ]
|
||||
then
|
||||
if [ -r "$1" ]
|
||||
then
|
||||
echo $1
|
||||
cat $1
|
||||
else
|
||||
echo "$1 ni mogoce brati"
|
||||
fi
|
||||
else
|
||||
echo "$1 ni veljavna zbirka"
|
||||
fi
|
||||
|
||||
if [ -f "$2" ]
|
||||
then
|
||||
if [ -r "$2" ]
|
||||
then
|
||||
echo $2
|
||||
cat $2
|
||||
else
|
||||
echo "$2 ni mogoce brati"
|
||||
fi
|
||||
else
|
||||
echo "$2 ni veljavna zbirka"
|
||||
fi
|
||||
|
||||
if [ -f "$3" ]
|
||||
then
|
||||
if [ -r "$3" ]
|
||||
then
|
||||
echo $3
|
||||
cat $3
|
||||
else
|
||||
echo "$3 ni mogoce brati"
|
||||
fi
|
||||
else
|
||||
echo "$3 ni veljavna zbirka"
|
||||
fi
|
@@ -0,0 +1,8 @@
|
||||
dat=($(ls))
|
||||
for datoteka in ${dat[@]}
|
||||
do
|
||||
if [[ $datoteka == *.sh ]]
|
||||
then
|
||||
bash $datoteka
|
||||
fi
|
||||
done
|
@@ -0,0 +1,5 @@
|
||||
dat=($(ls))
|
||||
for dato in ${dat[@]}
|
||||
do
|
||||
echo ${dato%.*} " ima koncnico " ${dato##*.}
|
||||
done
|
22
semester_2/uvod_v_operacijske_sisteme/naloga_03/naloga_6.sh
Normal file
22
semester_2/uvod_v_operacijske_sisteme/naloga_03/naloga_6.sh
Normal file
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
cd Slike/
|
||||
slike=($(ls))
|
||||
for slika in ${slike[@]}
|
||||
do
|
||||
if [[ ! -d "./${slika:0:4}" ]]
|
||||
then
|
||||
$(mkdir ./${slika:0:4})
|
||||
fi
|
||||
if [[ ! -d "./${slika:0:4}/${slika:4:2}" ]]
|
||||
then
|
||||
$(mkdir ./${slika:0:4}/${slika:4:2})
|
||||
fi
|
||||
if [[ ! -d "./${slika:0:4}/${slika:4:2}/${slika:6:2}" ]]
|
||||
then
|
||||
$(mkdir ./${slika:0:4}/${slika:4:2}/${slika:6:2})
|
||||
fi
|
||||
if [[ -d "./${slika:0:4}/${slika:4:2}/${slika:6:2}" ]]
|
||||
then
|
||||
$(mv -f ./$slika ./${slika:0:4}/${slika:4:2}/${slika:6:2}/${slika:9:2}"_"${slika:11:2}"_"${slika:13:2}.jpg )
|
||||
fi
|
||||
done
|
Reference in New Issue
Block a user