Comment analyser le fichier délimité par l'onglet à l'aide de 'awk'

Comment analyser le fichier délimité par l'onglet à l'aide de 'awk'

'Tab' est utilisé comme séparateur dans le fichier délimité par l'onglet. Ce type de fichier texte est créé pour stocker différents types de données de texte dans un format structuré. Différents types de commande existent dans Linux pour analyser ce type de fichier. La commande 'awk' est l'une des façons d'analyser le fichier délimité par l'onglet de différentes manières. Les utilisations de la commande 'awk' pour lire le fichier délimité par l'onglet s'affiche dans ce tutoriel.

Créer un fichier délimité par l'onglet:

Créer un fichier texte nommé utilisateurs.SMS avec le contenu suivant pour tester les commandes de ce tutoriel. Ce fichier contient le nom, le courrier électronique, le nom d'utilisateur et le mot de passe de l'utilisateur.

utilisateurs.SMS

Nom de mot de passe de nom d'utilisateur de messagerie
Maryland. Robin Robin @ gmail.com Robin89 563425
Nila Hasan Nila @ Gmail.com Nila78 245667
Mirza Abbas Mirza @ Gmail.com Mirza23 534788
Aornob hasan aornob @ gmail.com arnob45 778473
Nuhas ahsan nuhas @ gmail.com nuhas34 563452

Exemple-1: Imprimez la deuxième colonne d'un fichier délimité à l'onglet à l'aide de l'option -f

La commande 'SED' suivante imprimera la deuxième colonne d'un fichier texte délimité par l'onglet. Ici le '-F' L'option est utilisée pour définir le séparateur de champ du fichier.

$ utilisateurs de chat.SMS
$ awk -f '\ t' 'print $ 2' utilisateurs.SMS

La sortie suivante apparaîtra après l'exécution des commandes. La deuxième colonne du fichier contient les adresses e-mail de l'utilisateur, qui s'affichent sous forme de sortie.

Exemple-2: Imprimez la première colonne d'un fichier délimité à l'onglet à l'aide de la variable FS

La commande «SED» suivante imprimera la première colonne d'un fichier texte délimité par l'onglet. Ici, FS (Séparateur de champ) La variable est utilisée pour définir le séparateur de champ du fichier.

$ utilisateurs de chat.SMS
$ awk 'print $ 1' fs = '\ t' utilisateurs.SMS

La sortie suivante apparaîtra après l'exécution des commandes. La première colonne du fichier contient les noms de l'utilisateur, qui s'affichent sous forme de sortie.

Exemple-3: Imprimez la troisième colonne d'un fichier délimité par l'onglet avec formatage

La commande 'SED' suivante imprimera la troisième colonne du fichier texte délimité par l'onglet avec formatage en utilisant le FS variable et printf. Ici le FS la variable est utilisée pour définir le séparateur de champ du fichier.

$ utilisateurs de chat.SMS
$ awk 'begin fs = "\ t" printf "% 10s \ n", $ 3' utilisateurs.SMS

La sortie suivante apparaîtra après l'exécution des commandes. La troisième colonne du fichier contient le nom d'utilisateur qui a été imprimé ici.

Exemple-4: Imprimez les troisième et quatrième colonnes du fichier délimité par l'onglet en utilisant OFS

OFS (séparateur de champ de sortie) est utilisé pour ajouter un séparateur de champ dans la sortie. La commande 'awk' suivante divisera le contenu du fichier en fonction de l'onglet (\ t) séparateur et imprimera les 3e et 4e colonnes à l'aide de l'onglet (\ t) comme séparateur.

$ utilisateurs de chat.SMS
$ awk -f "\ t" 'ofs = "\ t" print $ 3, $ 4> (".txt ") 'utilisateurs.SMS
$ la production de chat.SMS

La sortie suivante apparaîtra après avoir exécuté les commandes ci-dessus. Les 3e et 4e colonnes contiennent le nom d'utilisateur et le mot de passe, qui ont été imprimés ici.

Exemple-5: Remplacez le contenu particulier du fichier délimité par l'onglet

sub () la fonction est utilisée dans 'awk pour commander à la substitution. La commande «awk» suivante recherchera le numéro 45 et se remplacera par le numéro 90 si le numéro de recherche existe dans le fichier. Après la substitution, le contenu du fichier sera stocké dans la sortie.fichier txt.

$ utilisateurs de chat.SMS
$ awk -f "\ t" 'sub (/ 45 /, 90); imprimer' utilisateurs.TXT> Sortie.SMS
$ la production de chat.SMS

La sortie suivante apparaîtra après avoir exécuté les commandes ci-dessus. Le résultat.Le fichier txt affiche le contenu modifié après avoir appliqué la substitution. Ici, le contenu de la 5e ligne a modifié et «ARNOB45» est changé en «arnob90».

Exemple-6: Ajouter une chaîne au début de chaque ligne d'un fichier délimité par l'onglet

Dans ce qui suit, la commande 'awk', l'option '-f' est utilisée pour diviser le contenu du fichier en fonction de l'onglet (\ t). OFS a utilisé pour ajouter une virgule (,) comme séparateur de champ dans la sortie. sub () fonction est utilisée pour ajouter la chaîne '- →' au début de chaque ligne de la sortie.

$ utilisateurs de chat.SMS
$ awk -f "\ t" 'ofs = ","; sub (/ ^ /, "---->"); imprimer $ 1, $ 2, $ 3' utilisateurs.SMS

La sortie suivante apparaîtra après avoir exécuté les commandes ci-dessus. Chaque valeur de champ est séparée par virgule (,) et une chaîne est ajoutée au début de chaque ligne.

Exemple-7: Remplacez la valeur d'un fichier délimité à l'onglet à l'aide de la fonction gsub ()

La fonction gsub () est utilisée dans la commande 'awk' pour la substitution globale. Toutes les valeurs de chaîne du fichier remplaceront où le modèle de recherche correspond. La principale différence entre les fonctions sub () et gsub () est que la fonction sub () arrête la tâche de substitution après avoir trouvé la première correspondance, et la fonction gsub () recherche le modèle à la fin du fichier pour la substitution. La commande «awk» suivante recherchera le mot «Nila» et «Mira» dans le monde dans le fichier et remplacera toutes les occurrences par le texte, «nom invalide», où le mot de recherche correspond.

$ utilisateurs de chat.SMS
$ awk -f '\ t' 'gsub (/ nila | mira /, "nom invalide"); imprimer 'utilisateurs.SMS

La sortie suivante apparaîtra après avoir exécuté les commandes ci-dessus. Le mot «Nila» existe deux fois dans la 3e ligne du fichier qui a été remplacé par le mot «nom non valide» dans la sortie.

Exemple-8: Imprimez le contenu formaté à partir d'un fichier délimité par l'onglet

La commande 'awk' suivante imprimera les premières et deuxième colonnes du fichier avec formatage en utilisant printf. La sortie affichera le nom de l'utilisateur en entourant l'adresse e-mail entre parenthèses.

$ utilisateurs de chat.SMS
$ awk -f '\ t' 'printf "% s (% s) \ n", $ 1, $ 2' utilisateurs.SMS

La sortie suivante apparaîtra après avoir exécuté les commandes ci-dessus.

Conclusion

Tout fichier délimité par l'onglet peut être facilement analysé et imprimé avec un autre délimiteur en utilisant la commande 'awk'. Les façons d'analyser les fichiers délimités et l'impression dans différents formats se sont montrés dans ce tutoriel en utilisant plusieurs exemples. Les utilisations des fonctions sub () et gsub () dans la commande 'awk' pour remplacer le contenu du fichier délimité par l'onglet sont également expliquées dans ce tutoriel. J'espère que ce tutoriel aidera les lecteurs à analyser facilement le fichier délimité par l'onglet après avoir correctement pratiqué les exemples de ce tutoriel.