Utilisation minimaliste des commandes sed et awk
Ne vous est il jamais arrivé d'avoir à répéter un certain nombre de commandes d'édition identiques (un remplacement de texte, par exemple) sur un grand nombre de fichiers ? Je crois qu'il n'y a rien d'aussi fastidieux ! Tout autre cas aussi désagréable, un programme renvoie un certain type de fichier texte qui colle pratiquement au format d'entrée d'une autre application ... à une petite commande d'édition près. Et bien sur, il vous faut réaliser cette dernière à la main, à moins que le nombre de répétitions ne vous pousse à écrire un programme C pour le faire.
Des utilitaires tels que sed et awk sont là pour résoudre ce genre de problèmes. Ils vont vous permettre d'écrire des commandes d'édition (éventuellement sous forme de scripts) qui seront réalisées en mode batch, c'est-à-dire, sans intervention interactive de votre part.
Pourquoi deux utilitaires me direz vous ? sed est un éditeur orienté flot de données. Il est très pratique pour appliquer des commandes d'édition de base sur un fichier. En revanche, awk est un vrai langage de programmation. En outre, awk est très pratique pour manipuler les données présentées sous forme de colonnes. Toutefois, le surcroît de puissance d'awk se paye par des temps d'exécution plus élevés que ceux nécessaires à sed. Ainsi, selon votre problème, vous utiliserez l'un ou l'autre.
Ces deux utilitaires sont très complets et souvent présentés comme délicats à maîtriser. Je vous concède que leur utilisation avancée n'est pas évidente. Toutefois, l'écriture de scripts permettant de réaliser des opérations de base est remarquablement aisée. Il ne sera donc pas ici question de vous transformer en utilisateurs confirmés de sed ou awk mais juste de vous montrer leur utilité et de vous enseigner le b.a.ba de leur maniement.
Bon, assez de blahblah, en route pour l'aventure, c'est à dire les pages concernant directement sed ou awk