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

30

Veuillez expliquer ce que signifie la commande suivante:

awk -F: '{print $4}'
Apprenant PHP
la source

Réponses:

55
awk -F: '{print $4}'
  • awk- c'est l'interpréteur du langage de programmation AWK. Le langage AWK est utile pour la manipulation de fichiers de données, la récupération de texte et le traitement
  • -F <value>- indique awkquel 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 il contient les éléments suivants:

Hello:my:name:is:Alaa

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

is

Parce que isc'est le quatrième champ.

      champ1 champ3 champ5
       ----- ---- ----
       | | | | | |
       Bonjour: mon: nom: est: Alaa
             || ||
             - -
           field2 field4

Alaa Ali
la source
9
  • Vous définissez le séparateur de champ avec ...

    -F
    

    c'est donc ":" dans cet exemple.

  • Vous imprimez le texte situé entre le 3ème et le 4ème séparateur avec ...

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

    echo "154:266:377:454:533" | awk -F: '{print $4}'
    454
    
Rinzwind
la source
que faire si je veux imprimer 454 154:266:377:454:533imprimer 4 $ et la ligne entière ensemble séparés par un espace?
Yogesh Darji du