Archive

Archives pour 09/2004

Jeudi - Utiliser un Fichier Script

30/09/2004

Des scripts Awk complexes peuvent être placés dans un fichier. Répétons l’astuce de Mercredi en utilisant un fichier script :

$ cat awk-script

BEGIN {n=0}

/^the/{printf(”Line %d: %sn”, n, $2)}

{n=n+1}

END {printf (”Total lines in file %dn”, n)}

Chaque instruction est placée dans une…

Thierry Astuces OSXFAQ

Mercredi - Compter les Lignes

29/09/2004

Comptez les lignes et plus encore.

Awk utilise des variables comme tout autre langage. Cet exemple utilise une arithmetique simple pour compter le nombre de lignes d’un fichier :

$ cat text

This file is one witch has a number

begin-marker

of lines, some of…

Thierry Astuces OSXFAQ

Mardi - Edition avec Awk

28/09/2004

Jusqu’à présent, les examples (y compris ceux de la semaine 86) ont utilisé Awk pour filtrer mais pas pour éditer. La semaine 85 montrait comment utiliser ’sed’ pour éditer des fichiers. Awk peut aussi éditer des fichiers.

Chercher et remplacer…

Thierry Astuces OSXFAQ

Lundi - Lecture des Fichiers CSV

27/09/2004

Voir la semaine 86 pour une introduction à AWK.

Changez le séparateur de champ par défaut utilisé par Awk.

Les fichiers à valeurs séparées par des virgules (’Comma Separated Value’) représentent un moyen populaire d’exporter des tables de données (les tableurs peuvent…

Thierry Astuces OSXFAQ

Vendredi - Modèles Multiples

24/09/2004

Specifiez plusieurs modèles à appliquer à chaque ligne répondant aux critères :

$ cat many

line one

the second line

and the third

the fourth

line five

the six

and the last line

$ awk ‘/^the//^line/’ many

line one

the second line

the fourth

line five

the six

Appliquer une commande différente à chaque…

Thierry Astuces OSXFAQ

Jeudi - Commandes Multiples

23/09/2004

Executez plusieurs commandes pour chaque ligne en entrée.

Séparatez les commandes avec ‘;’ et toutes les commandes seront exécutées pour chaque ligne répondant aux critères.

Pour afficher la longueur de chaque ligne et la ligne elle-même, utilisez :

$ awk ‘{print(length($0)); print}’ text

22

Ce…

Thierry Astuces OSXFAQ

Mercredi - Rangées de Lignes

22/09/2004

Traitez une rangée de lignes avec Awk.

Les exemples précédents ont utilisé une expression régulière pour filtrer les lignes. Awk peut être appelé pour traiter une rangée de lignes ou une seule ligne.

Affichez toutes les lignes entre begin-marker et end-marker compris.

$…

Thierry Astuces OSXFAQ

Eléments de Graphisme : Dessiner avec des Pixels

21/09/2004

Si l’un de vos enfants s’intéresse à la programmation, il serait bon de prendre un peu de temps pendant les vacances pour lui apprendre quelques concepts. Michael Norton a écrit ce tutoriel pour son fils qui est au collège, et le propose aux lecteurs de Mac DevCenter et leurs enfants. En quelques leçons votre enfant peut développer un programme de dessin amusant… et je suis sûr que ce n’est que le début. 21/09/2004

opoppon Développer sur Mac OS X

Mardi - Afficher des Champs

21/09/2004

Affichez des champs spécifiques de chaque ligne correspondant aux critères.

L’astuce de Lundi utilisait l’action {print($0)}. $0 représente la ligne entière passée en entrée. $n représente le champ n. Les champs sont séparés par des espaces.

Une application commune revient à afficher…

Thierry Astuces OSXFAQ

Lundi - Imprimer/Supprimer des Lignes

20/09/2004

Les astuces de cette semaine explorent Awk, un utilitaire pratique qui exécute un script de commandes d’édition passé en entrée. Reportez vous aussi aux astuces de la semaine précédente sur Sed qui présente des fonctions similaires.

Imprimer des lignes contenant un…

Thierry Astuces OSXFAQ