Differences

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

Link to this comparison view

uso:laboratoare:laborator-06:inspect-files [2025/10/25 23:03]
daniel_ioan.dinu Typo and phrasing in [Prelucrarea informației dintr-un fișier]
uso:laboratoare:laborator-06:inspect-files [2025/10/26 16:53] (current)
daniel_ioan.dinu Typos in [Exerciții]
Line 251: Line 251:
 ==== Exerciții ==== ==== Exerciții ====
  
-  - Căutați //patternul// "​l"​ în fișierul ''​%%binary_search.c%%'',​ pentru a vedea unde este folosit parametrul **left**. Observați cât de multe rezultate irelevante ați găsit datorită faptului că am căutat doar caracterul **l**. Aici există o lecție de învățat. Numele variabilelor sunt foarte importante: nu fac doar codul mai ușor de înțeles, dar ajută și căutarea. Folosiți //patternul// "param l" în încercarea de a restrânge căutarea. +  - Căutați //pattern-ul// "​l"​ în fișierul ''​%%binary_search.c%%'',​ pentru a vedea unde este folosit parametrul **left** ​al funcției de căutare binară. Observați cât de multe rezultate irelevante ați găsit datorită faptului că am căutat doar caracterul **l**. Aici există o lecție de învățat. Numele variabilelor sunt foarte importante: nu fac doar codul mai ușor de înțeles, dar ajută și căutarea. Folosiți //pattern-ul// "param l" în încercarea de a restrânge căutarea. 
-  - Căutați //patternul// "​arr"​ în fișierul ''​%%binary_search.c%%''​. +  - Căutați //pattern-ul// "​arr"​ în fișierul ''​%%binary_search.c%%''​. 
-  - Căutați //patternul// "​binarysearch1"​ în fișierul ''​%%binary_search.c%%''​ pentru a vedea cum este apelată funcția de căutare.+  - Căutați //pattern-ul// "​binarysearch1"​ în fișierul ''​%%binary_search.c%%''​ pentru a vedea cum este apelată funcția de căutare.
  
 ==== Extra: Opțiuni uzuale ale grep ==== ==== Extra: Opțiuni uzuale ale grep ====
Line 273: Line 273:
 === Căutarea case-insensitive === === Căutarea case-insensitive ===
  
-Implicit, grep caută în mod case-sensitive ​patternul, așa cum putem observa din exemplul de mai jos:+Implicit, grep caută în mod case-sensitive ​pattern-ul, așa cum putem observa din exemplul de mai jos:
  
 <code bash> <code bash>
 student@uso:​~$ grep Search workspace/​C/​searching/​binary_search.c student@uso:​~$ grep Search workspace/​C/​searching/​binary_search.c
 </​code>​ </​code>​
-Pentru a efectua căutarea textului în mod case-insesnsitive, folosim opțiunea ''​%%-i%%'',​ ca în exemplul de mai jos:+Pentru a efectua căutarea textului în mod case-insensitive, folosim opțiunea ''​%%-i%%'',​ ca în exemplul de mai jos:
  
 <code bash> <code bash>
Line 292: Line 292:
 === Excluderea unui pattern === === Excluderea unui pattern ===
  
-Pentru a afișa toate liniile, mai puțin pe cele care conțin pattern, folosim opțiunea ''​%%-v%%'',​ ca în exemplul de mai jos:+Pentru a afișa toate liniile, mai puțin pe cele care conțin pattern-ul, folosim opțiunea ''​%%-v%%'',​ ca în exemplul de mai jos:
  
 <code bash> <code bash>
Line 310: Line 310:
 === Căutarea recursivă a unui pattern === === Căutarea recursivă a unui pattern ===
  
-În căutările noastre de până acum, ca și în exemplele de mai sus, am presupus că știm în ce fișiere se găsește informația căutată de noi. Acest lucru este adevărat pentru fișiere din sistem cu informații bine cunoscute, cum ar fi ''​%%/​proc/​meminfo%%'',​ dar atunci când lucrăm cu un proiect nou, nu vom ști în ce fișiere să căutăm informația dorită. De exemplu, în cazul proiectului cu algoritmi implementați în C, noi am făcut presupunerea că vom găsi linii care conțin ​patternul ​**search** în fișierul ''​%%workspace/​C/​searching/​binary_search.c%%''​.+În căutările noastre de până acum, ca și în exemplele de mai sus, am presupus că știm în ce fișiere se găsește informația căutată de noi. Acest lucru este adevărat pentru fișiere din sistem cu informații bine cunoscute, cum ar fi ''​%%/​proc/​meminfo%%'',​ dar atunci când lucrăm cu un proiect nou, nu vom ști în ce fișiere să căutăm informația dorită. De exemplu, în cazul proiectului cu algoritmi implementați în C, noi am făcut presupunerea că vom găsi linii care conțin ​pattern-ul ​**search** în fișierul ''​%%workspace/​C/​searching/​binary_search.c%%''​.
  
 Atunci când nu știm în ce fișiere se află informația căutată, putem să-i spunem lui ''​%%grep%%''​ să caute recursiv prin toată ierarhia de fișiere dintr-un anumit director. Pentru a efectua o căutare recursivă folosim opțiunea ''​%%-r%%'',​ ca în exemplul de mai jos: Atunci când nu știm în ce fișiere se află informația căutată, putem să-i spunem lui ''​%%grep%%''​ să caute recursiv prin toată ierarhia de fișiere dintr-un anumit director. Pentru a efectua o căutare recursivă folosim opțiunea ''​%%-r%%'',​ ca în exemplul de mai jos:
Line 371: Line 371:
 === Bonus: Căutarea unui cuvânt === === Bonus: Căutarea unui cuvânt ===
  
-Din rezultatele căutărilor de mai sus observăm că ''​%%grep%%''​ caută ​patternul ​dat ca un subșir. Acest lucru se vede foarte ușor în rezultatul anterior:+Din rezultatele căutărilor de mai sus observăm că ''​%%grep%%''​ caută ​pattern-ul ​dat ca un subșir. Acest lucru se vede foarte ușor în rezultatul anterior:
  
 <code bash> <code bash>
Line 378: Line 378:
 workspace/​C/​leetcode/​src/​700.c:​10:​struct TreeNode *searchBST(struct TreeNode *root, int val) workspace/​C/​leetcode/​src/​700.c:​10:​struct TreeNode *searchBST(struct TreeNode *root, int val)
 </​code>​ </​code>​
-Observăm că patternul ​**search** se regăsește în șirul ***searchBST**. Dacă dorim să căutăm cuvântul **search** folosim opțiunea ''​%%-w%%''​ (word) pentru a-i transmite utilitarului că patternul ​trebuie tratat ca un cuvânt, ca în exemplul de mai jos:+Observăm că pattern-ul ​**search** se regăsește în șirul ***searchBST**. Dacă dorim să căutăm cuvântul **search** folosim opțiunea ''​%%-w%%''​ (word) pentru a-i transmite utilitarului că pattern-ul ​trebuie tratat ca un cuvânt, ca în exemplul de mai jos:
  
 <code bash> <code bash>
Line 392: Line 392:
 === Exerciții === === Exerciții ===
  
-  - Găsiți toate fișierele care includ ​headerul ​''​%%stdio.h%%''​. +  - Găsiți toate fișierele care includ ​header-ul ​''​%%stdio.h%%''​. 
-  - Găsiți toate aparițiile ​patternului ​''​%%binarySearch%%''​. +  - Găsiți toate aparițiile ​pattern-ului ​''​%%binarySearch%%''​. 
-  - Găsiți toate aparițiile ​patternului ​''​%%quickSort%%''​.+  - Găsiți toate aparițiile ​pattern-ului ​''​%%quickSort%%''​.
  
  
uso/laboratoare/laborator-06/inspect-files.1761422589.txt.gz · Last modified: 2025/10/25 23:03 by daniel_ioan.dinu
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