Différence entre awk et bash

bertin -  
 Utilisateur anonyme -
Bonjour,

Je n'arrive toujours pas à vraiment noter la différence fondamentale entre un script en extension .awk et un script en extension .bash?
J'exclus le faite que les entètes sont du type:

pour .bash #!/bin/bash
pour .awk #!/bin/awk -f

Mais en terme de CODE ecrit,y a t il vraiment une nette différence???

merci d'avance.


3 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 427
 
Salut,

Chaque langage a sa propre syntaxe et ses spécificités et tout dépend de ce que tu dois faire.

Normalement, awk est surtout employé comme filtre sur des fichiers principalement avec une notion de lignes et de champs.
0
mamiemando Messages postés 33730 Date d'inscription   Statut Modérateur Dernière intervention   7 868
 
Eh bien ce sont deux langages différents donc ça n'a rien à voir :-) Ils ne sont pas utilisés pour les mêmes raisons.
- awk est adapter pour lire un fichier et en extraire des morceaux (ou le remettre en forme)
- bash est à linux ce que les fichiers ".bat" sont à windows : c'est un moyen d'écrire facilement une suite de commandes qui vont permettre de manipuler ton système d'exploitation.

Les deux langages disposent de boucles (for, ...), de tests (if...) mais ont une syntaxe qui leur est spécifique. Un script awk consiste en un ensemble de blocs qui sont déclenchés ou non en fonction de la ligne qu'on lit. Un script bash est lu de manière séquentielle, comme c'est le cas dans la plupart des langages.

À part le fait que ce sont deux langages de scripts, je pense que les points communs s'arrêtent là ;-)

Un aperçu plus concret :
http://aral.iut-rodez.fr/fr/sanchis/enseignement/bash/index.html
https://nyal.developpez.com/tutoriel/gawk/index.php

Bonne chance
0
Utilisateur anonyme
 
salut,

On oublie l'essentiel, bash est avant toute chose un interpréteur de commande, c'est à dire une interface entre l'être humain et le système d'exploitation, dont on peut écrire les commandes dans un fichier pour en faire un script.
Ceci n'est pas vrai pour awk, qui n'est que un langage de script.
0