Supposons que le fichier à lire soit test.txt dans le répertoire courant, avec le contenu suivant :
Google Example Taobao
Exemple 1
#!/bin/bash
while read line
do
echo $line
done < test.txt
while read line
do
echo $line
done < test.txt
Résultat de sortie d'exécution :
Google Example Taobao
Exemple 2
#!/bin/bash
cat test.txt | while read line
do
echo $line
done
cat test.txt | while read line
do
echo $line
done
Résultat de sortie d'exécution :
Google Example Taobao
Exemple 3
for line in `cat test.txt`
do
echo $line
done
do
echo $line
done
Résultat de sortie d'exécution :
Google Example Taobao
Il y a une différence entre la lecture ligne par ligne avec for et la lecture ligne par ligne avec while, par exemple :
$ cat test.txt
Google
Exemple
Taobao
$ cat test.txt | while read line; do echo $line; done
Google
Exemple
Taobao
$ for line in $(<test.txt); do echo $line; done
Google
Exemple
Taobao
Exemple
Taobao
$ cat test.txt | while read line; do echo $line; done
Exemple
Taobao
$ for line in $(<test.txt); do echo $line; done
Exemple
Taobao