Shell scripting avec Bash
Contents
1. Lecture d'un fichier ligne par ligne
1.1. Méthode 1
while read LINE ; do
echo $LINE
done < <(cat /path/to/file)
Cette méthode ne fonctionne pas si l'instruction read est utilisée dans le corps de la boucle
1.2. Méthode 2
Cette méthode utilise les descripteurs de fichier de bash et permet d'utiliser l'instruction read dans le corps de la boucle
while read LINE <&7 ; do
echo $LINE
echo cocou
read dummy
done 7<FILE_TO_READ
read LINE <&7 lit à partir du descripteur de fichier 7 de bash et 7<FILE_TO_READ indique le contenu du fichier FILE_TO_READ est redirigé vers le descripteur 7.
Si FILE_TO_READ est le résultat d'une commande, la syntaxe à utiliser est 7< <(COMMANDE). Par exemple, 7< <(sort -u FILE_TO_READ), permet de lire ligne par ligne le résultat de commande sort -u.
2. Afficher les lignes M à N
awk 'NR => M && NR <= N' /path/to/file
3. Boucle for
- Boucle sur une liste:
for INFO in un deux trois quatre ; do
echo $INFO
done
- Boucle for (type C):
for ((X=1, Y=1; X <= 10 ; X++, Y++)) ; do
echo $X
echo $Y
done