logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:programmation:bash:read:parcourir-fichier-texte [17/08/2010 17:27]
cthuluh
doc:programmation:bash:read:parcourir-fichier-texte [30/12/2013 18:04]
MicP [Script]correction du nom du fichier
Ligne 1: Ligne 1:
-====== ​Lire un fichier ligne par ligne ======+====== ​read file ======
  
-Si vous désirez lire avec un Script Shell (bash, zsh, ksh, dash,...), un fichier texte, ligne par ligne, voici le code à utiliser ​:+Lire un fichier ligne par ligne 
 + 
 +===== Script ===== 
 + 
 +Script Shell (bash, zsh, ksh, dash,​...), ​pour lire un fichier texte, ligne par ligne : 
 +<code bash> 
 +#variable du fichier 
 +fichier="​${repertoire}/​test.txt"​
  
-<​code>​ 
 #​initialisation du compteur #​initialisation du compteur
 i=0 i=0
Ligne 21: Ligne 27:
 done < "​$fichier"​ done < "​$fichier"​
  
-exit 0 +exit 0</​code>​ 
-</​code>​+ 
 +==== Nota : ==== 
 + 
 +<​code>​ 
 +"​${repertoire}/​fichier"​ = "/​chemin/​du/​fichier"​</​code>​ 
 + 
 +===== Explication ===== 
 + 
 +Cette méthode est simple, efficace et __correcte__. 
 + 
 +==== Commande ==== 
 + 
 +   IFS= read -r 
 + 
 +=== Options === 
 + 
 +   IFS (Internal Field Separator) 
 + 
 +C'est une variable spéciale de votre shell. \\ 
 +Avec elle, quand votre ligne contient des caractères //​blancs//​((espaces,​ tabulations)),​ **read** les supprime au début et à la fin, avant de placer le résultat dans **ligne**. 
 + 
 +Entrez la ligne de commande suivante pour visualiser le contenu de la variable ''​IFS''​ utilisée par votre interpréteur de commande. 
 +<​code>​set | grep IFS</​code>​ 
 +=== read -r === 
 + 
 +read avec option -r, sinon les backslashes (**\**) seront interprétés,​ or nous voulons conserver le contenudu fichier intact.
  
-Explication : cette méthode est simple, efficace et __correcte__. +===== Exemple =====
-Il est nécessaire d'​utiliser l'​option **-r** de **read**, sinon +
-les backslashes (**\**) seront interprétés,​ or nous voulons conserver le contenu +
-du fichier intact.  +
-De plus, on utilise **IFS=** **read**. **IFS** est une variable spéciale de +
-votre shell. Quand elle contient des caractères blancs (espaces, tabulations),​ **read** +
-supprime les caractères blancs de début et de fin, avant de placer le résultat dans **ligne**.+
  
-Si le fichier test.txt indiqué dans l'​exemple ​contenait ​:+Si le fichier test.txt indiqué dans l'​exemple ​contient ​:
 <​code>​Dark <​code>​Dark
 TUX</​code>​ TUX</​code>​
  
-Lors de l'​exécution du script, on aurait ​à l'​écran :+Lors de l'​exécution du script, on aura à l'​écran :
 <​code>​Nom : Dark <​code>​Nom : Dark
 Prénom: TUX</​code>​ Prénom: TUX</​code>​
  
-Bien entendu, vous devrez ​modifier le code selon vos besoins.+Bien entendu, vous devez modifier le code selon vos besoins.
doc/programmation/bash/read/parcourir-fichier-texte.txt · Dernière modification: 16/12/2015 17:38 par milou

Pied de page des forums

Propulsé par FluxBB