welcome: log in

Shell scripting avec Bash

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

for INFO in un deux trois quatre ; do
         echo $INFO
done

for ((X=1, Y=1; X <= 10 ; X++, Y++)) ; do
        echo $X
        echo $Y
done


Index CategoryLinux CategoryUnix

ShellScriptingAvecBash (last edited 21/05/2011 11:17:33 by glennie)