This shows you the differences between two versions of the page.
uso-ac:laboratoare:laborator-10 [2016/12/10 23:16] giorgiana.vlasceanu [4. Sortare grupe după note de 10 obținute de studenți (2 karma points)] |
uso-ac:laboratoare:laborator-10 [2016/12/10 23:18] (current) giorgiana.vlasceanu [2. Expresii regulate (1p)] |
||
---|---|---|---|
Line 442: | Line 442: | ||
</note> | </note> | ||
- | ==== 1. Opțiuni pentru grep (2p) ==== | + | ==== 1. Opțiuni pentru grep (4p) ==== |
Ne propunem să aflăm care sunt fișierele de tip header (cu extensia ''.h'' sau ''.hpp'') din sistem care au cele mai multe macro-uri definite. Pentru aceasta vom folosi comanda ''grep'' cu opțiuni specifice și apoi comanda ''sort'' pentru a sorta datele în ordinea numărului de apariții de definiții de macro-uri. | Ne propunem să aflăm care sunt fișierele de tip header (cu extensia ''.h'' sau ''.hpp'') din sistem care au cele mai multe macro-uri definite. Pentru aceasta vom folosi comanda ''grep'' cu opțiuni specifice și apoi comanda ''sort'' pentru a sorta datele în ordinea numărului de apariții de definiții de macro-uri. | ||
Line 454: | Line 454: | ||
</note> | </note> | ||
- | === 1.1. Extragere linii ce conțin definiții de macro-uri (0.5p) === | + | === 1.1. Extragere linii ce conțin definiții de macro-uri (1p) === |
Pentru început, ca să aveți un punct de plecare, veți extrage liniile ce conțin definiții de macro-uri pentru un singur fișier header dat. Recomandăm să folosiți ca intrare fișierul ''/usr/include/stdio.h''. | Pentru început, ca să aveți un punct de plecare, veți extrage liniile ce conțin definiții de macro-uri pentru un singur fișier header dat. Recomandăm să folosiți ca intrare fișierul ''/usr/include/stdio.h''. | ||
Line 484: | Line 484: | ||
</solution> | </solution> | ||
- | === 1.2. Extragere linii ce conțin definiții de macro-uri în ierarhia /usr/include (0.5p) === | + | === 1.2. Extragere linii ce conțin definiții de macro-uri în ierarhia /usr/include (1p) === |
În continuare veți extinde comanda anterioară și veți folosi ''grep'' cu opțiunea de **recursivitate** pentru a extrage liniile ce conțin definiții de macro-uri pentru toate fișierele din ierarhia ''/usr/include/''. | În continuare veți extinde comanda anterioară și veți folosi ''grep'' cu opțiunea de **recursivitate** pentru a extrage liniile ce conțin definiții de macro-uri pentru toate fișierele din ierarhia ''/usr/include/''. | ||
Line 517: | Line 517: | ||
</solution> | </solution> | ||
- | === 1.3. Obținere număr de linii ce conțin definiții de macro-uri în ierarhia /usr/include (0.5p) === | + | === 1.3. Obținere număr de linii ce conțin definiții de macro-uri în ierarhia /usr/include (1p) === |
În continuare veți extinde comanda anterioară și veți folosi ''grep'' cu opțiunea de **recursivitate** și cea de **contorizare** pentru a furniza ca output fișierele din ierarhia ''/usr/include'' împreună cu numărul de linii care conțin definiții de macro-uri. | În continuare veți extinde comanda anterioară și veți folosi ''grep'' cu opțiunea de **recursivitate** și cea de **contorizare** pentru a furniza ca output fișierele din ierarhia ''/usr/include'' împreună cu numărul de linii care conțin definiții de macro-uri. | ||
Line 540: | Line 540: | ||
- | === 1.4. Sortare după numărul de linii ce conțin definiții de macro-uri (0.5p) === | + | === 1.4. Sortare după numărul de linii ce conțin definiții de macro-uri (1p) === |
În final, veți sorta output-ul comenzii anterioare în funcție de numărul de linii care conțin definiții de macro-uri. Vrem să aflăm care sunt fișierele de tip header din ierarhia ''/usr/include'' care conțin cel mai mare număr de definiții de macro-uri. | În final, veți sorta output-ul comenzii anterioare în funcție de numărul de linii care conțin definiții de macro-uri. Vrem să aflăm care sunt fișierele de tip header din ierarhia ''/usr/include'' care conțin cel mai mare număr de definiții de macro-uri. | ||
Line 576: | Line 576: | ||
</solution> | </solution> | ||
- | ==== 2. Expresii regulate (1p) ==== | + | ==== 2. Expresii regulate (2p) ==== |
Ne propunem să sedimentăm noțiunile legate de expresii regulate. Vom folosi ''grep'' și expresii regulate pentru a face două prelucrări peste fișierul ''/usr/share/vim/vim74/tutor/tutor'': | Ne propunem să sedimentăm noțiunile legate de expresii regulate. Vom folosi ''grep'' și expresii regulate pentru a face două prelucrări peste fișierul ''/usr/share/vim/vim74/tutor/tutor'': | ||
Line 706: | Line 706: | ||
</solution> | </solution> | ||
- | ==== 3. Parsare folosind tab ca separator (1p) ==== | + | ==== 3. Parsare folosind tab ca separator (2p) ==== |
În secțiunea [[#parsare_date_tabelare_in_shell|Parsare date tabelare în shell]] am folosit la intrare fișierul ''students.csv'', fișier format CSV (//Comma Separated Values//) care folosește virgula ('','', //comma//) pe post de separator de câmpuri. Ne propunem să folosim la intrare fișierul ''students.txt'' care folosește caracterul tab pe post de separator de câmpuri. | În secțiunea [[#parsare_date_tabelare_in_shell|Parsare date tabelare în shell]] am folosit la intrare fișierul ''students.csv'', fișier format CSV (//Comma Separated Values//) care folosește virgula ('','', //comma//) pe post de separator de câmpuri. Ne propunem să folosim la intrare fișierul ''students.txt'' care folosește caracterul tab pe post de separator de câmpuri. | ||
Line 743: | Line 743: | ||
</solution> | </solution> | ||
- | ==== 4. Selectare studenți care au nota 10 (1p) ==== | + | ==== 4. Selectare studenți care au nota 10 (2p) ==== |
Ne propunem să actualizăm scriptul anterior ''extract-name-tab'' pentru a afișa doar numele studenților pentru acei studenți care au nota finală ''10'' (a treia coloană are valoarea ''10''). | Ne propunem să actualizăm scriptul anterior ''extract-name-tab'' pentru a afișa doar numele studenților pentru acei studenți care au nota finală ''10'' (a treia coloană are valoarea ''10''). |