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 →
Ci-dessous, les différences entre deux révisions de la page.
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 [18/08/2010 10:42] smolski |
doc:programmation:bash:read:parcourir-fichier-texte [30/12/2013 18:00] MicP [Explication] ajout précisions sur IFS |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Lire un fichier ligne par ligne ====== | + | ====== read file ====== |
+ | |||
+ | Lire un fichier ligne par ligne | ||
+ | |||
+ | ===== Script ===== | ||
Script Shell (bash, zsh, ksh, dash,...), pour lire un fichier texte, ligne par ligne : | Script Shell (bash, zsh, ksh, dash,...), pour lire un fichier texte, ligne par ligne : | ||
<code bash> | <code bash> | ||
+ | #variable du fichier | ||
+ | fichier="${repertoire}/fichier" | ||
+ | |||
#initialisation du compteur | #initialisation du compteur | ||
i=0 | i=0 | ||
Ligne 21: | Ligne 28: | ||
exit 0</code> | exit 0</code> | ||
+ | |||
+ | ==== Nota : ==== | ||
+ | |||
+ | <code> | ||
+ | "${repertoire}/fichier" = "/chemin/du/fichier"</code> | ||
===== Explication ===== | ===== Explication ===== | ||
Ligne 32: | Ligne 44: | ||
=== Options === | === Options === | ||
- | IFS | + | IFS (Internal Field Separator) |
C'est une variable spéciale de votre shell. \\ | 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**. | 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**. | ||
- | read -r | + | 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. | read avec option -r, sinon les backslashes (**\**) seront interprétés, or nous voulons conserver le contenudu fichier intact. |