Bash Pagina 60
Sari la navigare
Sari la căutare
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
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.