Bash Pagina 100: Diferență între versiuni

De la Wiki Linux Advanced
Sari la navigare Sari la căutare
 
Fără descriere a modificării
 
Linia 1: Linia 1:
== Exemplu 1: Imprimarea numelui de login din /etc/passwd ==
* Fișier `users.awk`:
BEGIN { FS=":"; print "Nume de utilizator" }
{ print $1 }
END { print "Total users =", NR }
'''Explicație:'''
* În acest exemplu, folosim un fișier `awk` (`users.awk`) cu trei blocuri de cod `BEGIN`, `{} (principal)` și `END`:
* `BEGIN { FS=":"; print "Nume de utilizator" }` — Setează separatorul de câmpuri (`FS`) ca fiind `:` și afișează un antet „Nume de utilizator”.
* `{ print $1 }` — În blocul principal, afișează primul câmp (`$1`) din fiecare linie, care reprezintă numele de utilizator.
* `END { print "Total users =", NR }` — În blocul `END`, afișează numărul total de linii procesate (variabila internă `NR`), adică numărul total de utilizatori.
'''Comandă de rulare:'''
<code>$ awk -f users.awk /etc/passwd</code>
'''Observații:'''
* ''FS'' — Este variabila internă pentru separatorul de câmpuri.
* ''NR'' — Este variabila internă care numără liniile procesate.
Această metodă ilustrează utilizarea fișierelor `awk` cu blocuri de cod pentru procesarea eficientă a fișierelor de sistem, cum ar fi `/etc/passwd`.






[[Bash_Pagina_99|Pagina anterioară]] | [[Bash_Pagina_101|Următoarea pagină]]
[[Bash_Pagina_99|Pagina anterioară]] | [[Bash_Pagina_101|Următoarea pagină]]

Versiunea curentă din 28 octombrie 2024 21:20

Exemplu 1: Imprimarea numelui de login din /etc/passwd

  • Fișier `users.awk`:
BEGIN { FS=":"; print "Nume de utilizator" }
{ print $1 }
END { print "Total users =", NR }

Explicație:

  • În acest exemplu, folosim un fișier `awk` (`users.awk`) cu trei blocuri de cod `BEGIN`, `{} (principal)` și `END`:
  • `BEGIN { FS=":"; print "Nume de utilizator" }` — Setează separatorul de câmpuri (`FS`) ca fiind `:` și afișează un antet „Nume de utilizator”.
  • `{ print $1 }` — În blocul principal, afișează primul câmp (`$1`) din fiecare linie, care reprezintă numele de utilizator.
  • `END { print "Total users =", NR }` — În blocul `END`, afișează numărul total de linii procesate (variabila internă `NR`), adică numărul total de utilizatori.

Comandă de rulare: $ awk -f users.awk /etc/passwd

Observații:

  • FS — Este variabila internă pentru separatorul de câmpuri.
  • NR — Este variabila internă care numără liniile procesate.

Această metodă ilustrează utilizarea fișierelor `awk` cu blocuri de cod pentru procesarea eficientă a fișierelor de sistem, cum ar fi `/etc/passwd`.


Pagina anterioară | Următoarea pagină