web-dev-qa-db-fra.com

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

Veuillez expliquer la signification de la commande suivante:

awk -F: '{print $4}'
29
PHP Learner
awk -F: '{print $4}'
  • awk - il s'agit de 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 et le traitement de texte
  • -F <value> - indique à awk le 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:

Supposons qu'il existe un fichier appelé test, qui contient les éléments suivants:

Hello:my:name:is:Alaa

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

is

Parce que is est le quatrième champ.

 champ1 champ3 champ5 
 ----- ---- ---- 
 | | | | | | 
 Bonjour: mon: nom: est: Alaa
 || || 
 - - 
 field2 field4 
 
54
Alaa Ali
  • Vous définissez le séparateur de champ avec ...

    -F
    

    c'est donc ":" dans cet exemple.

  • Vous imprimez le texte compris entre le troisième et le quatrième séparateur avec ...

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

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