Bash Pagina 60: Diferență între versiuni
Sari la navigare
Sari la căutare
Admin (discuție | contribuții) (Pagină nouă: ==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 di...) |
Admin (discuție | contribuții) |
||
Linia 27: | Linia 27: | ||
echo "$linie" | echo "$linie" | ||
done | done | ||
#similar se poate afișa tot fișierul astfel, fără utilizare for | |||
echo ${linii[@]} | |||
'''Explicația scriptului''' | '''Explicația scriptului''' |
Versiunea de la data 27 octombrie 2024 12:30
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.