POS/Lab 2 2019

Izvor: SI Wiki
Pređi na navigaciju Pređi na pretragu

Lab 2 se pojavljuje u trećem terminu vežbi.

  • Za pitanja sa više odgovora, tačni odgovori su podebljani i uokvireni
  • Za pitanja za koje se odgovori unose, tačni odgovori su podvučeni i sakriveni, tako da se prikažu kada izaberete taj tekst (primer: ovako)
  • Pritisnite levo dugme ispod za sakrivanje i otkrivanje svih odgovora, ili desno dugme za uključivanje i isključivanje interaktivnog režima:

Grupa 1

Zadatak 1

Postavka

(3p) Napisati regularni izraz koji uparuje ime sajta. Ime sajt se nalazi između "www." i ".com".

Rešenje

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

Zadatak 2

Postavka

(5p) U fajlu ulaz.txt se nalazi spisak putanja do nekih direktorijuma. Svaka putanja je u zasebnom redu. Napisati skriptu koja menja vlasnika svim direktorijumima zajedno sa njihovim sadržajem, čija se putanja nalazi u datom fajlu. Novi vlasnik treba da bude korisnik koji je pokrenuo tu skriptu.

Rešenje

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

Zadatak 3

Postavka

(6p) Napisati skriptu koja određuje trenutno korišćenje procesora od strane korisnika koji je pokrenuo skriptu. Aritmetiku raditi sa celim brojevima

Rešenje

#!/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}'