informatique:awk
Ceci est une ancienne révision du document !
Table des matières
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 commandedate
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