Bash Pagina 100: Diferență între versiuni
Sari la navigare
Sari la căutare
Admin (discuție | contribuții) (Pagină nouă: Pagina anterioară | Următoarea pagină) |
Admin (discuție | contribuții) 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`.