Bash:
Lecture d'un fichier texte
How to:
Voici différentes manières de lire un fichier en Bash:
# Utiliser 'cat' pour afficher le contenu d'un fichier
cat monfichier.txt
# Lire ligne par ligne avec une boucle 'while' et 'read'
while IFS= read -r line; do
echo "Ligne : $line"
done < monfichier.txt
Sample output pour la boucle while
:
Ligne : Première ligne de mon fichier
Ligne : Deuxième ligne
Ligne : Etc...
Deep Dive
Historiquement, cat
(concatenate) était souvent utilisé pour afficher le contenu d’un fichier sur l’écran. Mais en Bash, la boucle while read
offre plus de contrôle et est plus adaptée pour traiter des fichiers ligne par ligne, surtout avec des fichiers volumineux. Alternativement, awk
et sed
sont puissants pour la manipulation de texte, mais sont plus complexes.
La commande cat
est simple et directe, mais si votre fichier est trop grand, vous gaspillez de la mémoire et du temps. “while IFS= read -r line” est lisible, sécuritaire (avec -r
pas d’interprétation des backslashes) et facile à manipuler ligne par ligne.
IFS (Internal Field Separator) est utilisé ici pour préserver les espaces en début de ligne, chose que cat
fera automatiquement, mais pas read
. C’est fondamental pour la fiabilité du script.
See Also
- GNU Bash documentation: https://www.gnu.org/software/bash/manual/bash.html
- Advanced Bash-Scripting Guide: https://www.tldp.org/LDP/abs/html/
- ‘BashGuide’ de Greg’s Wiki pour des pratiques sûres: http://mywiki.wooledge.org/BashGuide