ПОС/Лаб 2 2019 — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
(+l2 2019)
 
м (+data-solutions)
 
(Није приказана једна међуизмена другог корисника)
Ред 1: Ред 1:
{{tocright}}
{{tocright}}
Лаб 2 се појављује у '''трећем''' термину вежби.
Лаб 2 се појављује у '''трећем''' термину вежби.
<div class="unhide-spoilers"></div>
{{решења}}


== Група 1 ==
== Група 1 ==
Ред 9: Ред 9:


==== Решење ====
==== Решење ====
<syntaxhighlight lang="bash" class="spoiler">
<syntaxhighlight lang="bash" class="spoiler" data-solution="plain">
echo $sajt | sed 's/^www\.\(.*\)\.com$/\1/'
echo $sajt | sed 's/^www\.\(.*\)\.com$/\1/'
# može i lakše sa extended regexp
# može i lakše sa extended regexp
Ред 21: Ред 21:


==== Решење ====
==== Решење ====
<syntaxhighlight lang="bash" class="spoiler">
<syntaxhighlight lang="bash" class="spoiler" data-solution="plain">
#!/bin/bash
#!/bin/bash
while IFS= read -r line; do
while IFS= read -r line; do
Ред 33: Ред 33:


==== Решење ====
==== Решење ====
<syntaxhighlight lang="bash" class="spoiler">
<syntaxhighlight lang="bash" class="spoiler" data-solution="plain">
#!/bin/bash
#!/bin/bash
count=0
count=0

Тренутна верзија на датум 30. јун 2021. у 14:26

Лаб 2 се појављује у трећем термину вежби.

  • За питања са више одговора, тачни одговори су подебљани и уоквирени
  • За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
  • Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:

Група 1

Задатак 1

Поставка

(3п) Написати регуларни израз који упарује име сајта. Име сајт се налази између "www." и ".com".

Решење

echo $sajt | sed 's/^www\.\(.*\)\.com$/\1/'
# može i lakše sa extended regexp
echo $sajt | sed -E 's/^www\.(.*)\.com$/\1/'
# pretpostavka da se ime sajta nalazi u promenljivoj $sajt

Задатак 2

Поставка

(5п) У фајлу ulaz.txt се налази списак путања до неких директоријума. Свака путања је у засебном реду. Написати скрипту која мења власника свим директоријумима заједно са њиховим садржајем, чија се путања налази у датом фајлу. Нови власник треба да буде корисник који је покренуо ту скрипту.

Решење

#!/bin/bash
while IFS= read -r line; do
    sudo chown -rR $USER $dir 
done < ulaz.txt

Задатак 3

Поставка

(6п) Написати скрипту која одређује тренутно коришћење процесора од стране корисника који је покренуо скрипту. Аритметику радити са целим бројевима

Решење

#!/bin/bash
count=0
for i in $(ps aux | grep "^$USER" | tr -s ' ' ' ' | cut -d' ' -f3)
    do
    count=$(( $i + $count ))
done
echo $count

# može i one-liner
ps aux | grep "^USER" | awk '{s += $3} END {print s}'