objectif
Lire un fichier entier ou un flux en mémoire efficacement et proprement.
code minimal
mapfile -t lines < fichier.txt
echo "premiere: ${lines[0]}"
utilisation
# lire via NUL (fichiers avec nouvelles lignes dans les noms)
printf 'a\0b\0' | mapfile -d '' -t items
printf '%s\n' "${items[@]}"
variante(s) utile(s)
# supprimer le trailing newline (-t), définir un max (-n)
mapfile -t -n 100 head < fichier.txt
notes
- alias: readarray.
- évite les sous-shells et est plus rapide qu’une boucle read.