ПОС/Лаб 2 2022

Извор: SI Wiki
< ПОС
Датум измене: 26. април 2022. у 21:06; аутор: Aleksa (разговор | доприноси) (Нова страница: {{tocright}} Лаб 2 се појављује у '''трећем''' термину вежби. {{решења}} == Група 1 == === Задатак 1 === ==== По…)
(разл) ← Старија измена | Тренутна верзија (разл) | Новија измена → (разл)
Пређи на навигацију Пређи на претрагу

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

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


Група 1

Задатак 1

Поставка

(3п) Napisati regularni izraz koji pronalazi bilo koji broj. Npr. u tekstu „a -123b a234“, treba da se upare „123“ i „234“.

Решење

echo "a-123b a234" | sed -n "/[[:digit:]]/p"

Задатак 2

Поставка

(5п) Napisati komande koje menjaju vlasničku grupu svemu što počinje sa rečju first u direktorijumu čija se putanja već nalazi u promenljivoj dir. Nova vlasnička grupa treba da bude ista kao i ona koju ima sam direktorijum.

Решење

chgrp `stat $dir -c "%G"` -R $dir/first*

Задатак 3

Поставка

(6п) Napisati skriptu koja šalje signal 9 svim procesima koje je pokrenuo korisnik čiji je korisničko ime zapisano u promenljivoj KILL_USER.

Решење

#!/bin/bash                                                                                      

IFS=$'\n'
for i in $(ps axu | grep "^$KILL_USER" | tr -s " " " ")
do
    kill -9 $(echo $i | cut -d' ' -f2)
done


Група 2

Задатак 1

Поставка

(3п) Napisati regularni izraz koji uparuje reč u tekstu koja se sastoji od naizmeničnog pojavljivanja malog slova i cifre. Npr. u tekstu „aaa123 A1a2 1a2a a1a2a3“, treba da se upari samo „a1a3a3“.

Решење

#primer
 echo "aa123 A1a2 1a2a a1a2a3" | sed -E 's/.*\ ([a-z]{1}[0-9]{1}?)/\1/'

Задатак 2

Поставка

(5п) Napisati komande koje svim fajlovima, koji su tipa ASCII text, u podstablu direktorijuma, dodaju pravo upisa za vlasnika i vlasničku grupu. Putanja do direktorijuma je već data u promenljivoj dir.

Решење

#!/bin/bash

dir=. #primer
for j in $(find $dir -name *.txt)
do

    chmod u+w $j
    chmod g+w $j
done

Задатак 3

Поставка

(6п) Napisati skriptu koja svim procesima koji su pokrenuti u tekućoj konzoli posalje signal 9 (komanda jobs ima opciju -l za ispisivanje pid-a).

Решење

#!/bin/bash
for j in $( jobs -l | tr -s " " " " | cut -d" " -f2 )
do
    echo $j
    kill -9 $j
done