Differences

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

Link to this comparison view

uso-ac:laboratoare:laborator-09 [2016/12/10 23:00]
giorgiana.vlasceanu [4. Prelucrarea informațiilor despre sistemul de fișiere (2p)]
uso-ac:laboratoare:laborator-09 [2016/12/10 23:38] (current)
giorgiana.vlasceanu [Laborator 9 - Stocarea si prelucrarea datelor]
Line 1: Line 1:
  
-====== Laborator 9 - Stocarea si prelucrarea datelor ======+====== Laborator 09 - Stocarea si prelucrarea datelor ======
  
 ====== Suport laborator ====== ====== Suport laborator ======
Line 480: Line 480:
 student@uso:​~/​uso$ cat students.csv | wc -l student@uso:​~/​uso$ cat students.csv | wc -l
 </​code>​ </​code>​
-==== 2. Selecție, sortare date din baza de date (2p) ====+==== 2. Selecție, sortare date din baza de date (3p) ====
  
 Bazei noastre de date îi lipsește o cheie primară. Aceasta se poate adăuga folosind comanda (asigurați-vă că folosiți baza de date ''​uso''​ când lucrați): Bazei noastre de date îi lipsește o cheie primară. Aceasta se poate adăuga folosind comanda (asigurați-vă că folosiți baza de date ''​uso''​ când lucrați):
Line 519: Line 519:
 Puteți porni de la exemplele de SELECT oferite [[http://​www.thegeekstuff.com/​2013/​09/​mysql-select-command/​|în această pagină]]. Puteți porni de la exemplele de SELECT oferite [[http://​www.thegeekstuff.com/​2013/​09/​mysql-select-command/​|în această pagină]].
  
-==== 3. Prelucrare Fisier JSON  (2p) ====+==== 3. Prelucrare Fisier JSON  (3p) ====
  
 **JSON** (JavaScript Object Notation) este un format de stocare a datelor ca text human-readable sub formă de perechi cheie-valoare. Este adesea folosit în limbaje de programare precum **Javascript** pentru a agrega și transmite date între diverse componente. Un exemplu clasic este transmiterea datelor de la un sever la o pagină web.  **JSON** (JavaScript Object Notation) este un format de stocare a datelor ca text human-readable sub formă de perechi cheie-valoare. Este adesea folosit în limbaje de programare precum **Javascript** pentru a agrega și transmite date între diverse componente. Un exemplu clasic este transmiterea datelor de la un sever la o pagină web. 
Line 576: Line 576:
  
 ===== BONUS ===== ===== BONUS =====
 +
 +==== 0. Prelucrarea informațiilor despre sistemul de fișiere (2 karma WoUSO) ==== 
 +  ​
 +Este deseori util să știm să prelucrăm informațiile pe care le obținem de la utilitarele Linux. În acest sens dorim că datele să fie salvate într-un format bine precizat. ​
 +  ​
 +Când dorim să aflat informații despre sistemul de fișiere, 2 utilitare des folosite sunt [[https://​linux.die.net/​man/​1/​find|find]] și [[https://​linux.die.net/​man/​1/​stat |stat]]. Cu **find** am mai lucrat în [[http://​ocw.cs.pub.ro/​courses/​uso/​laboratoare/​laborator-06 |laboratorul 6]]. 
 +  ​
 +Sarcina voastră este să listați primele 5 fișiere obișnuite (regular files) din ierarhia /etc (adică din toate directoarele,​ subdirectoarele și subdirectoarele acestora etc.) sortate crescător în ordinea dimesiunii ocupate de fiecare fișier. Outputul trebuie salvat în fișierul '''​uuuuge_files.txt'',​ fără a include erorile. ​
 +  ​
 +<note undefined> ​
 +Folosiți find pentru a extrage fișierele. Apoi folosiți expandarea comenzii și stat pentru a afișa doar numele și dimensiunea fișierului. Adică o construcție de forma 
 +<​code> ​
 +stat -c ... $(find ...) 
 +</​code> ​
 +Apoi filtrați output-ul comenzii de mai sus cu ajutorul comenzii [[https://​linux.die.net/​man/​1/​sort|sort]] pentru a sorta **numeric** în funcție de dimensiunea fișierului. Adică o construcție de forma: ​
 +<​code> ​
 +stat -c ... $(find ...) | sort ... 
 +</​code> ​
 +Apoi filtrați output-ul pentru a extrage doar primele 5 fișiere, în ordinea dimensiunii. Folosiți ''​tail''​.
 +</​note> ​
 +  ​
 +<​solution -hidden>
 +<code bash>
 +stat -c "%s %n" $(find /etc -type f 2> /dev/null) | sort -n -k 1,1 | tail -n 5
 +</​code>​
 +</​solution>​
 +
  
 ==== 1. Prelucrare HTML (2 karma WoUSO) ==== ==== 1. Prelucrare HTML (2 karma WoUSO) ====
uso-ac/laboratoare/laborator-09.1481403657.txt.gz · Last modified: 2016/12/10 23:00 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0