42 votes

Que signifie cette commande : awk -F: '{print $4}'?

Veuillez expliquer ce que signifie la commande suivante :

awk -F: '{print $4}'

69voto

Alaa Ali Points 29075
awk -F: '{print $4}'
  • awk - c'est l'interpréteur du langage de programmation AWK. Le langage AWK est utile pour la manipulation des fichiers de données, la récupération et le traitement des textes
  • -F - indique à awk quel séparateur de champ utiliser. Dans votre cas, -F: signifie que le séparateur est : (deux points).
  • '{print $4}' signifie imprimer le quatrième champ (les champs étant séparés par :).

Exemple :

Disons qu'il y a un fichier appelé test, et qu'il contient ce qui suit :

Hello:my:name:is:Alaa

Si nous exécutons la commande awk -F: '{print $4}' test, la sortie sera :

is

Car is est le quatrième champ.

      champ1   champ3  champ5
       -----    ----    ----
       |   |    |  |    |  |
       **Hello:my:name:is:Alaa**
             ||      ||
             --      --
           champ2  champ4

9voto

Rinzwind Points 270388
  • Vous définissez le séparateur de champ avec ...

    -F

    qui est ":" dans cet exemple.

  • Vous affichez le texte qui se situe entre le 3ème et le 4ème séparateur avec ...

    '{print $4}'
  • Et cela s'explique mieux ainsi :

    echo "154:266:377:454:533" | awk -F: '{print $4}'
    454

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X