Comment utiliser la commande awk dans bash

Comment utiliser la commande awk dans bash

Lorsque vous travaillez dans l'environnement de la ligne de commande, il est essentiel d'avoir une forte compréhension des différentes commandes disponibles pour gérer efficacement les fichiers, les répertoires et d'autres données. Une telle commande est la commande 'awk'. AWK est un utilitaire puissant utilisé pour traiter et manipuler les fichiers texte dans l'environnement Unix / Linux. Cet article expliquera quelle est la commande 'awk' et les moyens de l'utiliser efficacement.

Quelle est la commande 'awk'?

La commande 'awk' est un outil puissant pour manipuler et traiter les fichiers texte dans les environnements Unix / Linux. Il peut être utilisé pour effectuer des tâches telles que la correspondance, le filtrage, le tri et la manipulation de données. awk est principalement utilisé pour traiter et manipuler les données de manière structurée.

Comment utiliser la commande awk

awk est un outil de ligne de commande qui peut être utilisé de diverses manières. Il peut être invoqué directement à partir de la ligne de commande, ou il peut être utilisé en conjonction avec un script shell. Voici quelques exemples d'utilisation de AWK:

Exemple 1: Compter le nombre de lignes dans un fichier

Pour compter le nombre de lignes dans un fichier, vous pouvez utiliser la syntaxe awk suivante:

awk 'end print nr'


Ici, «NR» est une variable intégrée qui contient le nombre d'enregistrements (lignes) traités par awk. Le mot-clé «fin» indique à AWK d'exécuter cette commande après que toutes les lignes du fichier aient été traitées. Ici, j'ai créé un fichier texte de fichier à des fins d'illustration, puis j'ai utilisé la syntaxe ci-dessus dans un script shell qui est:

#!/ bac / bash
awk 'end print nr' testfile.SMS


Le fichier texte que j'ai créé a deux lignes et lorsque la commande awk est utilisée la sortie affichée 2, vous pouvez voir le fichier texte que j'ai créé dans l'image ci-dessous:

Exemple 2: filtrage des données

L'AWK peut être utilisé pour filtrer les données sur la base de critères spécifiques et voici la syntaxe qu'il faut utiliser à un tel objectif:

awk '!// '


Par exemple, vous pouvez utiliser la commande ci-dessous pour filtrer toutes les lignes d'un fichier qui contiennent le mot «Bonjour."

#!bac / bash
awk '!/ Bonjour / 'TestFile.SMS


Dans cet exemple, le «!"Le symbole nie la recherche d'expression régulière, donc toutes les lignes qui ne contiennent pas le mot« bonjour »seront imprimées. J'ai utilisé le même fichier texte que dans l'exemple précédent, voici donc la sortie du script ci-dessus:

Exemple 3: Extraction de champs spécifiques

awk peut également être utilisé pour extraire des champs spécifiques à partir d'un fichier. Par exemple, si vous avez un fichier contenant une liste de noms et d'adresses, et que vous souhaitez extraire uniquement les noms, vous pouvez utiliser la commande suivante:

awk 'print $'


Ici pour l'illustration, j'ai imprimé le premier champ du même fichier texte et «1 $» représente le premier champ dans chaque ligne du fichier. La commande «Print» indique à AWK d'imprimer uniquement ce champ.

#!/ bac / bash
awk 'print $ 1' TestFile.SMS


Dans le fichier texte, la première entrée de la première ligne est «ceci» et la première entrée de la deuxième ligne est «bonjour», alors voici la sortie du code donné:

Conclusion

La commande awk est un outil puissant qui est utilisé pour manipuler et traiter les fichiers texte. Il vous permet d'effectuer diverses opérations sur des fichiers texte, tels que l'impression de colonnes spécifiques, la recherche de modèles et le calcul des sommes. En maîtrisant les bases de AWK, vous pouvez rationaliser votre flux de travail et devenir un utilisateur Linux ou Unix plus efficace et efficace.