Bash Pagina 60: Diferență între versiuni
Sari la navigare
Sari la căutare
Admin (discuție | contribuții) |
Admin (discuție | contribuții) |
||
Linia 39: | Linia 39: | ||
Utilizarea comenzii mapfile este o modalitate eficientă de a citi date din fișiere și de a le organiza în matrice în Bash. Aceasta simplifică gestionarea datelor citite și permite manipularea ușoară a fiecărei linii. | Utilizarea comenzii mapfile este o modalitate eficientă de a citi date din fișiere și de a le organiza în matrice în Bash. Aceasta simplifică gestionarea datelor citite și permite manipularea ușoară a fiecărei linii. | ||
==De lucrat== | |||
Să se modifice scriptul prezentat astfel încât fișierul citit să se introducă ca argument la lansarea scriptului. Exemplu: <br> | |||
./mapfile.sh exemplu.txt | |||
[[Bash_Pagina_59|Pagina anterioară]] | [[Bash_Pagina_61|Următoarea pagină]] | [[Bash_Pagina_59|Pagina anterioară]] | [[Bash_Pagina_61|Următoarea pagină]] |
Versiunea curentă din 27 octombrie 2024 12:32
Citirea dintr-un fișier folosind mapfile
Ce este mapfile?
mapfile este o comandă în Bash care permite citirea rapidă a liniilor dintr-un fișier într-un tablou (matrice). Fiecare linie a fișierului devine un element al matricei.
Sintaxă
mapfile -t array < filename
- -t oprește adăugarea caracterului de newline (\n) la fiecare element al matricei.
- array este numele matricei în care vor fi stocate liniile din fișier.
- filename este numele fișierului din care se citesc datele.
Exemplu de utilizare
Să presupunem că avem un fișier numit exemplu.txt cu următorul conținut:
Linia 1 Linia 2 Linia 3
Script Bash
Următorul script va citi liniile din exemplu.txt și le va stoca într-o matrice:
#!/bin/bash # Citirea liniilor din fișier în matrice mapfile -t linii < exemplu.txt # Afișarea liniilor citite for linie in "${linii[@]}"; do echo "$linie" done #similar se poate afișa tot fișierul astfel, fără utilizare for echo ${linii[@]}
Explicația scriptului
- Declarația mapfile: Comanda mapfile -t linii < exemplu.txt citește toate liniile din exemplu.txt și le stochează în matricea linii.
- Afișarea liniilor: Bucla for parcurge fiecare element al matricei linii și îl afișează pe ecran.
Concluzie
Utilizarea comenzii mapfile este o modalitate eficientă de a citi date din fișiere și de a le organiza în matrice în Bash. Aceasta simplifică gestionarea datelor citite și permite manipularea ușoară a fiecărei linii.
De lucrat
Să se modifice scriptul prezentat astfel încât fișierul citit să se introducă ca argument la lansarea scriptului. Exemplu:
./mapfile.sh exemplu.txt