Filtrarea textelor în Linux

 

Filtrarea textelor în Linux implică utilizarea unor comenzi și utilitare specifice pentru a prelucra, analiza sau transforma datele textuale. Acest lucru este extrem de util pentru administratori de sistem, programatori și oricine lucrează cu date.

Comenzi comune pentru filtrarea textelor în Linux

1. grep (căutare text)

  • Folosit pentru a găsi linii care conțin un anumit șablon.

    Exemple:

    bash

    grep "cuvânt" fișier.txt # Afișează liniile care conțin "cuvânt". grep -v "cuvânt" fișier.txt # Afișează liniile care *nu* conțin "cuvânt". grep -i "Cuvânt" fișier.txt # Căutare insensibilă la majuscule/minuscule.

2. awk (manipulare avansată)

  • Ideal pentru extragerea și procesarea textului pe baza unor reguli complexe.

    Exemple:

    bash

    awk '/cuvânt/' fișier.txt # Găsește și afișează liniile care conțin "cuvânt". awk '{print $1, $3}' fișier.txt # Afișează coloanele 1 și 3. awk '$3 > 50 {print $1, $3}' fișier.txt # Afișează rândurile unde coloana 3 este mai mare de 50.

3. sed (stream editor)

  • Util pentru căutarea, înlocuirea și editarea textului în fluxuri.

    Exemple:

    bash

    sed 's/vechi/nou/' fișier.txt # Înlocuiește primul "vechi" cu "nou" pe fiecare linie. sed 's/vechi/nou/g' fișier.txt # Înlocuiește toate aparițiile lui "vechi" cu "nou". sed '/cuvânt/d' fișier.txt # Șterge liniile care conțin "cuvânt".

4. cut (extrage coloane)

  • Folosit pentru a extrage coloane dintr-un fișier.

    Exemple:

    bash

    cut -d':' -f1 /etc/passwd # Afișează prima coloană (separată prin „:”). cut -c1-5 fișier.txt # Afișează primele 5 caractere din fiecare linie.

5. sort (sortare)

  • Sortează liniile alfabetic sau numeric.

    Exemple:

    bash

    sort fișier.txt # Sortează liniile alfabetic. sort -n fișier.txt # Sortează numeric. sort -r fișier.txt # Sortează descrescător.

6. uniq (elimină duplicatele)

  • Funcționează doar pe date sortate.

    Exemple:

    bash

    sort fișier.txt | uniq # Elimină liniile duplicate. sort fișier.txt | uniq -c # Afișează frecvența fiecărei linii.

7. wc (numărare)

  • Numără caractere, cuvinte și linii.

    Exemple:

    bash

    wc fișier.txt # Numără linii, cuvinte și caractere. wc -l fișier.txt # Numără doar liniile. wc -w fișier.txt # Numără doar cuvintele.

8. head și tail (vizualizare început/sfârșit)

  • Afișează primele sau ultimele linii dintr-un fișier.

    Exemple:

    bash

    head fișier.txt # Afișează primele 10 linii. head -n 5 fișier.txt # Afișează primele 5 linii. tail fișier.txt # Afișează ultimele 10 linii. tail -n 5 fișier.txt # Afișează ultimele 5 linii.

9. tr (transformare caractere)

  • Schimbă, elimină sau înlocuiește caractere.

    Exemple:

    bash

    echo "textul meu" | tr 'a-z' 'A-Z' # Transformă textul în majuscule. echo "textul meu" | tr -d 'e' # Șterge toate aparițiile literei "e".

10. tee (redirecționare și salvare)

  • Citește din intrare standard și scrie simultan în fișier și în ieșire standard.

    Exemple:

    bash

    echo "text" | tee fișier.txt # Scrie „text” în fișier și îl afișează în terminal.

11. xargs (transformare și execuție)

  • Permite trecerea rezultatelor unei comenzi ca argumente pentru alta.

    Exemple:

    bash

    echo "fișier1 fișier2" | xargs rm # Șterge fișier1 și fișier2. find . -name "*.txt" | xargs grep "cuvânt" # Caută „cuvânt” în toate fișierele .txt.

Exemple combinate:

  1. Căutare într-un fișier și numărare:

    bash

    grep "cuvânt" fișier.txt | wc -l
  2. Extragerea coloanei 2 dintr-un fișier CSV și sortarea fără duplicate:

    bash

    cut -d',' -f2 fișier.csv | sort | uniq
  3. Afișarea liniilor cu context:

    bash

    grep -C 2 "eroare" log.txt # Afișează 2 linii înainte și după „eroare”.

Aceste comenzi și combinații pot fi folosite pentru a filtra și analiza rapid orice fișier text.

Comentarii

Postări populare