Outils pour utilisateurs

Outils du site


informatique:awk

Ceci est une ancienne révision du document !


Awk

Variables

  • NR : nombre d'enregistrements lus
  • FNR : nombre d'enregistrements lus dans le fichier courant
  • FILENAME : nom du fichier courant
  • FS : séparateur de champs en entrée
  • OFS : séparateur de champs en sortie

Scripts

Remplacer les clefs par les valeurs

# fichier_1 contient l'association entre les clefs et les valeurs :
# A 10
# B 30
# C 20
# fichier_2 contient les données à transformer :
# ID1 A
# ID2 A
# ID3 C
# ID4 B
 
awk 'FNR==NR{a[$1]=$2;next}{print $1,a[$2]}' <fichier_1> <fichier_2>
 
# La sortie de la commande donnera le résultat suivant :
# ID1 10
# ID2 10
# ID3 20
# ID4 30
  • FNR==NR permet l'exécution du bloc suivant uniquement lors de la lecture du premier fichier.
  • a[$1]=$2 permet de créer un tableau associatif avec les valeurs trouvées.
  • next permet de passer directement à l'enregistrement suivant.
  • {print $1,a[$2]} permet d'afficher une valeur et une valeur convertie.

Afficher la date courante

awk '{ "date +%d-%b-%Y" | getline; print }'
  • date +%d-%b-%Y est l'appel à la commande date du système. Le format dépend donc de la commande et non pas de awk.
  • getline permet de stocker la date dans une variable.

Liens

informatique/awk.1505108869.txt.gz · Dernière modification : 2017/09/10 22:47 de alexis