User Tools

Site Tools


medium-unix:capitole:capitol-08

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
medium-unix:capitole:capitol-08 [2016/05/19 18:26]
razvan [TODO 2]
medium-unix:capitole:capitol-08 [2016/05/19 19:38] (current)
razvan
Line 50: Line 50:
 Folosire sed pentru interschimbare. Folosire sed pentru interschimbare.
  
-Folosire awk pentru afișarea unor coloane. ''​awk''​ este ''​awk++''​+Folosire awk pentru afișarea unor coloane. ''​awk''​ este ''​cut++''​
  
 Folosire awk și expresii regulate pentru afișarea unor coloane. Folosire awk și expresii regulate pentru afișarea unor coloane.
Line 64: Line 64:
 Un script care afișează utilizatorii care au user id-ul între ''​100''​ și ''​500'',​ adică mai mare decât ''​100''​ și mai mic decât ''​500''​. Un script care afișează utilizatorii care au user id-ul între ''​100''​ și ''​500'',​ adică mai mare decât ''​100''​ și mai mic decât ''​500''​.
  
 +==== Extragere informații dintr-un fișier CSV ====
  
-==== TODO 2 ====+Pornind de la catalogul din fișierul ''​register.csv''​ din [[http://​koala.cs.pub.ro/​training/​res/​medium-unix/​arc/​cap-08-res.zip|arhiva capitolului]],​ creați scriptul ''​select_7.sh''​ care să afișeze numele și grupa celor care au nota mai mare sau egală cu ''​7''​.
  
-TODO+Puteți urma pașii ajutători de mai jos.
  
 +Fișierul să primească la standard input fișierul ''​register.csv''​. Adică să ruleze în forma<​code>​
 +./​select_7.sh < register.csv.
 +</​code>​
 +
 +Creați scriptul ''​select_7.sh''​ și folosiți comanda<​code>​
 +read line
 +</​code>​
 +pentru a citi prima linie din fișier (antetul).
 +
 +Actualizați în cadrul scriptului variabila ''​IFS''​ pentru ca read să folosească pe post de separator caracterul virgulă ('',''​).
 +
 +Citiți coloanele folosind ''​while''​ și ''​read''​ (ne interesează numele și grupa studenților).
 +
 +Folosiți ''​if''​ și ''​test''​ pentru a selecta studenții care au nota mai mare sau egală cu ''​7''​.
 +
 +==== Calcul medie ====
 +
 +Calculați media notelor de mai sus într-un script ''​compute_average.sh''​. Puteți folosi fie shell scripting (''​while'',​ ''​read'',​ expandarea aritmetică) și comanda ''​bc'',​ fie puteți folosi ''​awk''​.
 +
 +==== Parsare fișiere de log ====
 +
 +Parsați fișierul ''​bttrack.log''​ din [[http://​koala.cs.pub.ro/​training/​res/​medium-unix/​arc/​cap-08-res.zip|arhiva capitolului]].
 +
 +Este un fișier jurnal (//log//) al unui tracker BitTorrent.
 +
 +Creați un script denumit ''​parse-tracker-log.sh''​ care parsează intrarea standard și afișează la ieșirea standard 3 coloane: cantitatea de date descărcate de un peer, adresa IP a peer-ului și numele clientului.
 +
 +<note tip>
 +Parcurgeți **DOAR** liniile care conțin ''/​GET /​announce''​.
 +</​note>​
medium-unix/capitole/capitol-08.1463671598.txt.gz · Last modified: 2016/05/19 18:26 by razvan