Différence entre sed et awk

le différence principale entre sed et awk est que sed est un utilitaire de commande qui fonctionne avec des flux de caractères pour la recherche, le filtrage et le traitement de texte awk plus puissant et robuste que sed avec des constructions de programmation sophistiquées telles que if / else, while, do / while, etc..

Un système d'exploitation sert d'interface entre l'utilisateur et les périphériques matériels. L'ordinateur ne peut effectuer aucune tâche sans système d'exploitation. Il existe de nombreux systèmes d'exploitation et UNIX est l'un d'entre eux. C'est un système d'exploitation stable qui prend en charge un environnement multi-utilisateur. Linux est un autre système d'exploitation populaire basé sur UNIX. UNIX et Linux fournissent tous deux une puissante interface de ligne de commande (CLI). Les utilisateurs peuvent entrer les commandes dans la CLI pour effectuer diverses tâches. Il y a un grand nombre de commandes, et sed et awk en sont deux. Ces commandes aident au filtrage et à la transformation de texte.

Zones clés couvertes

1. Ce qui est sed
     - Définition, exemples
2. Quel est awk
    - Définition, exemples
3. Quelle est la difference entre sed et awk
     - Comparaison des différences clés

Mots clés

sed, awk, Système d'exploitation

Ce qui est sed

La commande sed permet de modifier et de filtrer des fichiers texte.

Figure 1: CLI pour fournir des commandes sous Linux et UNIX

sed '1,3 d' test1.txt

La commande ci-dessus affichera les lignes après la ligne 3. Elle n'affichera pas 1, 2, 3 lignes de test1.txt.

sed 's / abc / cab /' test1.txt

La commande ci-dessus substituera cab à la place de abc dans le fichier test1.txt.

sed 's / one / 1 /' test1.txt

La commande ci-dessus remplacera 1 au lieu de 1 dans le fichier test1.txt.

sed '1,2! d 'test1.txt

Cela affichera uniquement les lignes 1 et 2.

Ce sont quelques exemples pour sed. Dans l'ensemble, sed permet aux utilisateurs d'effectuer un filtrage et une recherche.

Quel est awk

La commande awk permet de rechercher des données dans un fichier et d’imprimer des données sur la console. Si un fichier contient plusieurs colonnes, il est également possible de rechercher des données dans des colonnes spécifiques. En outre, il facilite les tâches telles que la recherche, l’exécution conditionnelle, la mise à jour et le filtrage..

awk 'print' file1.txt

La commande ci-dessus affichera tout le contenu du fichier1.txt.  

Supposons que le fichier file1.txt contient plusieurs colonnes.

awk 'print $ 1' 'fichier1.txt

Cette commande affiche la première colonne de file1.txt. Par défaut, la commande awk considère un espace comme séparateur..

awk 'print $ 1 “” $ 3' fichier1.txt

La commande ci-dessus imprime la première et la troisième colonne du fichier1.txt avec un espace entre.

awk 'print $ 1. $ 3 'fichier1.txt

La commande ci-dessus affichera la concaténation de la première et de la troisième colonne..

awk '/ exemple / print' fichier1.txt

La commande ci-dessus imprime toutes les lignes du fichier file1.txt contenant le mot exemple..

awk '/ [0-9] / print' fichier1.txt

La commande ci-dessus imprime toutes les lignes du fichier file1.txt contenant des nombres de 0 à 9..

awk '/ ^ [0-9] / print' fichier1.txt

Ceci imprimera les lignes de fichier1.txt qui commencent par un nombre.

awk '/ [0-9] $ / print' fichier1.txt

Cela va imprimer les lignes dans file1.txt qui se termine par un nombre.

Il est également possible de vérifier les conditions comme suit.

awk 'if ($ 1 ~ / 123 /) print' fichier1.txt

Ceci imprimera la ligne si, le contenu commence par 123.

awk 'if ($ 2 ~ / [0-9] /) print' fichier1.txt

Ceci imprimera les lignes de la deuxième colonne qui commencent par un nombre..

Ce sont quelques exemples de awk.

Dans l'ensemble, awk est une commande puissante pour le traitement et l'analyse des fichiers texte..

Différence entre sed et awk

Définition

Sed est un utilitaire de ligne de commande qui analyse et transforme le texte à l’aide d’un langage de programmation simple et compact. Awk est un utilitaire de ligne de commande conçu pour le traitement de texte qui permet d'écrire des programmes efficaces sous la forme d'instructions..

La fonctionnalité

Sed et awk permettent tous deux de traiter des flux de caractères pour des tâches telles que la transformation de texte. Le awk est plus puissant et robuste que sed. C'est semblable à un langage de programmation.

Complexité

Le sed est simple et limité tandis que awk est plus complexe et polyvalent.

Conclusion

La différence entre sed et awk est que sed est un utilitaire de commande qui fonctionne avec des flux de caractères pour la recherche, le filtrage et le traitement de texte, tout en étant plus puissant et robuste que sed avec des constructions de programmation sophistiquées telles que.

Référence:

1. AWK Command: Session 1: Sélectionner les données de colonne, Testing World, 8 février 2017, disponible ici.
2. Utilisation de l'utilitaire Linux AWK, Frank le programmeur, 25 juin 2011, disponible ici.
3. Tutoriel Linux / Unix || Commandes SED sous Linux par Shiva, solutions logicielles Durga, 30 octobre 2016, disponibles ici..

Courtoisie d'image:

1. “Avant tout sur Xubuntu 11.04" de Kris Kendall, Jesse Kornblum et Nick Mikus - Capture d'écran de la sortie -h de avant (domaine public) via Commons Wikimedia