Input Field Separators

IFS, ou input field separators[1] (ou internal field separators), est une variable de shell Unix (bash, sh, etc.) définissant les séparateurs de champ reconnus par l'interpréteur.

Pour les articles homonymes, voir IFS.

Cette variable, nommée IFS, est souvent qualifiée improprement de variable d'environnement, ce qui est inexact ; il serait plus rigoureux de parler de variable de shell (ou de variable système).

Valeur habituelle

Par défaut, IFS définit comme séparateurs 3 caractères :

  1. L'espace
  2. La tabulation (\t)
  3. Le saut de ligne (\n).

Pour vérifier la valeur de la variable, il suffit de taper la commande :

set | grep ^IFS=

Le résultat habituel est :

IFS=$' \t\n'

On aura parfois besoin de redéfinir cette valeur, par exemple dans le cas où on ne souhaite pas que l'espace serve de séparateur (cas typique : on a à traiter des fichiers dont les noms contiennent des espaces) : IFS=$'\n' permet de ne traiter que les sauts de ligne comme internal field separator.

Références

  1. « Shell Command Language », sur pubs.opengroup.org (consulté le )
  • Portail de l’informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.