Top 10 des commandes awk intéressantes

Top 10 des commandes awk intéressantes
Cet article vous exécutera à travers des commandes awk intéressantes et quand les utiliser. Continuez à lire pour le découvrir!

Introduction à awk

Awk est une langue populaire dans Unix et Linux. Il a tiré son nom de ses auteurs: Alfred Aho, Peter Weinberger et Brian Kernighan. La commande awk permet d'accéder au langage de programmation AWK, qui est conçu pour traiter les données dans les flux de texte.

Utilisé populairement utilisé pour la numérisation des modèles et la simplification des opérations complexes, AWK vous aide à écrire des instructions efficaces pour définir des modèles de texte dans un fichier. La commande awk traite ensuite ces instructions en lisant une ligne à la fois et prend une action basée sur la condition donnée.

Mettez simplement, awk trouve et remplace le texte, et aide à trier, valider ou indexer les données données.

Caractéristiques de AWK

Awk est livré avec beaucoup de fonctionnalités uniques:

  1. Aucune compilation n'est nécessaire dans awk
  2. Souvent utilisé pour l'extraction de données
  3. Couramment utilisé pour effectuer une manipulation de texte
  4. Aide à générer des résultats au besoin.

Explorons maintenant la puissance des commandes awk.

15 Commandes AWK intéressantes

Voici une liste compilée de quelques commandes awk intéressantes:

  1. Imprimer des nombres aléatoires dans un ensemble - Supposons que vous souhaitiez imprimer quelques nombres aléatoires à partir d'un pool sélectionné. Vous pouvez spécifier la quantité de nombres aléatoires de ce pool et demander à Awk d'imprimer ceci. Voici un exemple: imprimons 10 numéros de 0 à 1000. Ainsi, la commande awk pour cela sera la suivante: awk 'begin for (i = 1; i <= 10; i++)
    imprimer int (1001 * rand ()) '
  1. Recherche de foo ou de barre - Et si vous voulez écrire une ligne dans laquelle vous souhaitez effectuer une recherche simple pour Foo ou Bar? Voici une commande qui vous permettra de faire exactement cela: if (/ foo / || / bar /)
    Imprimer "trouvé!"
  1. Réorganiser un champ - Si vous souhaitez imprimer un champ particulier dans un ordre particulier, AWK peut le faire pour vous. Supposons que vous souhaitiez imprimer les 5 premiers champs d'un ensemble particulier dans un champ par ligne, vous pouvez utiliser la commande suivante: awk 'i = 1
    alors que je <= 3)
    imprimer $ i
    je++

    'InputFile
  1. Diviser une ligne - Dans un ensemble donné de fichiers, AWK peut aider à diviser une ligne en champs, où x est le nom du champ: $ awk 'print $ x, $ x' xyz.SMS
  1. Exécuter plusieurs commandes à la fois - Pour exécuter plusieurs commandes à la fois, vous pouvez utiliser un point-virgule pour spécifier les deux commandes: $ echo "Bonjour! Jack "| awk '$ 2 =" Jill "; imprimer $ 0'
  1. Exécuter un script awk - Si vous souhaitez exécuter un script awk à partir d'un fichier particulier, vous pouvez créer un fichier sum_column et coller le script ci-dessous dans ce fichier: #!/ usr / bin / awk -f
    Commencer sum = 0
    sum = sum + $ x
    Fin somme d'impression

    Dans le script ci-dessus, x est égal à la colonne que vous devez saisir dans le fichier. Sur la réussite de cette tâche, vous pouvez utiliser la commande suivante pour afficher la somme de la colonne X dans le fichier d'entrée:

    awk -f sum_column input_file.
  1. Utilisation -f - Lors du codage, il peut souvent sembler peu pratique de se référer au terminal. awk utilise -f pour effectuer la recherche d'un fichier: script awk -f.awk inputfile
  1. Exécution des fonctions mathématiques - Vous pouvez également utiliser awk pour les fonctions mathématiques simples: awk 'sum = $ 2 + $ 3 + $ 4; avg = somme / 3
    > Imprimer 1 $, grades AVG '
  1. Hello World in awk - Vous pouvez imprimer un monde de Hello simple dans AWK en utilisant la commande suivante: awk "begin Imprimer" Hello World!!""

    Vous pouvez également créer un programme Hello World. Le code suivant imprimera non seulement le message Hello omniprésent, mais générera également des informations d'en-tête:

    $ awk 'begin imprimer "Hello World!" '
  1. Impression du nombre total d'octets - Vous pouvez trouver les octets totaux utilisés par les fichiers en utilisant la commande suivante: ls -l . | awk 'x + = $ 5; FIN \
    imprimer "Total octets:" x '
    Total des octets: 7449362
  1. Anonymisation d'un journal Apache - Vous pouvez utiliser le code suivant pour anonymiser un journal Apache: Cat apache-anon-noadmin.Journal | \
    fonction awk 'ri (n) \
    return int (n * rand ()); \
    Commencer srand (); si (! \
    (5 $ en jack)) \
    Jack [5 $] = sprintf ("% D.%d.%d.%d", \
    ri (255), ri (255) \
    , Ri (255), Ri (255)); \
    5 $ = Jack [5 $]; imprimer __g5_token5b610ba53dbe4 '
  1. Opérant en lignes - Si vous avez une adresse que vous souhaitez trier en lignes, vous pouvez le faire en utilisant la commande suivante: commencez rs = ""; Fs = "\ n"

    Imprimer "Le nom est:", 1 $
    L'adresse d'impression "est:", 2 $
    Impression "La ville et l'État sont:", 3 $
    imprimer ""
  1. Utilisation de la boucle while - La boucle while continue d'exécuter l'action qui lui est donnée dans un processus répété jusqu'à ce que la condition soit vraie. Par exemple, pour l'impression de numéros de 1 à 100, vous pouvez utiliser le code suivant: awk 'begin i = 1; alors que je < 100) print i; ++i '
  1. Utilisation de la boucle à faire - Dans cette boucle, la condition est exécutée à la fin de la boucle même si l'instruction est fausse. Par exemple, pour imprimer des nombres de 1 à 100 à l'aide d'une boucle à faire, vous pouvez utiliser le code suivant: awk 'begin i = 1; faire imprimer i; ++ i while (i < 100) '
  1. Utilisation du début et de la fin - Le mot-clé Begin est utilisé pour créer un en-tête pour le traitement de votre enregistrement: $ awk 'begin print "xxx"

    De la même manière, le mot-clé final est utilisé après le traitement des données:

    End print "fileter de fichier" '

Cela conclut la liste des 15 commandes awk intéressantes. Vous pouvez les essayer et voir les résultats. J'espère que vous le trouverez utile. Si vous avez trouvé cet article intéressant, vous pouvez explorer la maîtrise des scripts Shell Linux - Deuxième édition. Dans ce livre, vous découvrirez tout ce que vous devez savoir pour maîtriser les scripts Shell et faire des choix éclairés sur les éléments que vous utilisez.