GNU/Linux >> Tutoriels Linux >  >> Linux

Exemples de commandes awk sous Linux

La commande awk effectue une correspondance de modèle sur les fichiers. Il est basé sur le langage de programmation AWK. Le mot-clé awk est suivi du modèle, de l'action à effectuer et du nom du fichier. L'action à effectuer est donnée entre accolades. Le modèle et l'action à effectuer doivent être spécifiés entre guillemets simples. Si le modèle n'est pas spécifié, l'action est effectuée sur toutes les données d'entrée ; cependant, si l'action n'est pas spécifiée, la ligne entière est imprimée. La commande awk peut être exécutée à partir de la ligne de commande ou à partir d'un fichier de script awk.

La commande awk peut être utilisée pour traiter des fichiers texte de différentes manières, telles que l'extraction de texte correspondant à un certain modèle; supprimer le texte correspondant à un certain modèle ; ajouter du texte correspondant à un certain modèle ; et bien plus encore.

Syntaxe

La syntaxe de la commande awk est :

# awk [options] ['patterns {actions}'] {file names}

Exemples de commandes awk

1. Imprimez la cinquième colonne (champ alias) dans un fichier séparé par des espaces :

# awk '{print $5}' filename

2. Imprimez la deuxième colonne des lignes contenant "foo" dans un fichier séparé par des espaces :

# awk '/foo/ {print $2}' filename

3. Imprimez la dernière colonne de chaque ligne d'un fichier, en utilisant une virgule (au lieu d'un espace) comme séparateur de champ :

# awk -F ',' '{print $NF}' filename

4. Additionnez les valeurs dans la première colonne d'un fichier et imprimez le total :

# awk '{s+=$1} END {print s}' filename

5. Imprimez toutes les trois lignes à partir de la première ligne :

# awk 'NR%3==1' filename

6. Imprimez différentes valeurs en fonction des conditions :

# awk '{if ($1 == "foo") print "Exact match foo"; else if ($1 ~ "bar") print "Partial match bar"; else print "Baz"}' filename

7. Imprimez toutes les lignes où la valeur de la 10e colonne est égale à la valeur spécifiée :

# awk '($10 == value)'

8. Imprimez toutes les lignes dont la valeur de la 10ème colonne est comprise entre un min et un max :

# awk '($10 >= min_value && $10 <= max_value)'


Linux
  1. Exemples de commande rm sous Linux

  2. Exemples de commandes ps sous Linux

  3. Exemples de commandes sa sous Linux

  4. w Exemples de commandes sous Linux

  5. Exemples de commandes lpr sous Linux

16 exemples de commandes Echo sous Linux

9 exemples de commandes tee sous Linux

9 exemples de commande diff sous Linux

Commande Linux awk avec 10 exemples

10 exemples de commandes Awk impressionnants sous Linux

Exemples de commandes id sous Linux