User Tools

Site Tools


notes:bash-parse

BASH : Commandes pour parser

Avec séparateurs

Utiliser les array
 IFS=';' array=($line)

Note : L'Internal Field Separator (IFS) est une variable de shell Unix (bash, sh, etc.) définissant les séparateurs de champ reconnus par l'interpréteur.

En général, IFS définit comme séparateurs 3 caractères

  • espace
  • tabulation (\t)
  • saut de ligne (\n).

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

set | grep ^IFS=

Le résultat habituel est :

IFS=$' \t\n'

Parfois on a 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.

Parser une vaiable dans une autre variable
 variable2=($(echo $variable2 | awk '{print $2}') 
notes/bash-parse.txt · Last modified: 2025/02/19 10:59 by 127.0.0.1