docs.jmini.fr

Les docs Jmini

Les docs jmini regroupent mes notes personnelles plus ou moins détaillées que je souhaite partager. Compilations de liens, tutoriels, réalisations pense-bêtes, morceaux de codes...
Autant d’informations que je retrouve sur mon site et qui pourront vous être utiles. En savoir plus...



Publié par Jérémie Bresson dans les docs Jmini (http://docs.jmini.fr) à l’adresse (http://docs.jmini.fr/pas-a-pas/se-servir-de-awk-dans-mac-os-x).


Dernière mise à jour : Vendredi 20 juillet 2007

Se servir de AWK dans Mac OS X

Durant un de mes cours, j’ai été amené à utiliser le langage de script AWK. N’étant pas un spécialiste du terminal, j’ai éprouvé quelques difficultés pour reproduire avec MAC OS X ce que j’avais vu en cours. Cet article est donc un genre de « AWK sur MAC OS X pour les nuls« .

AWK :

AWK est un langage de script essentiellement fait pour manipuler les lignes d’un fichier texte. Il est particulièrement utile pour exécuter toute sorte d’opérations sur les fichiers CSV (pour Comma-separated values – texte tabuler).

Le nom AWK est l’assemblage des initiales des noms des créateurs du langage : Alfred Aho, Peter Weinberger et Brian Kernighan.

On trouve ce langage sur pratiquement tous les systèmes UNIX sous le nom d’awk ou gawk (pour GNU awk). C’est évidemment le cas sur Mac OS X.

Création d’un programme :

Encore une fois, cet article est vraiment écrit « pour les nuls » et je conseille aux spécialistes d’UNIX de passer leur chemin. Voici pas à pas les étapes à suivre pour créer un script simple qui affiche les lignes impaires d’un fichier.

0) Vérifier le chemin d’awk :

Pour savoir où se situe la commande awk (à priori dans le répertoire bin), il suffit de lancer dans le terminal la commande wich :

which awk

Normalement le shell répond /usr/bin/awk

1) Ecrire le fichier de script :

Bien que l’on puisse utiliser directement la commande awk dans le terminal, très vite on souhaite avoir un script un petit peu sophistiqué. Il est donc plus simple de le taper dans un fichier texte : ligneImpaire.awk.

A l’aide de n’importe quel éditeur de texte (personnellement j’utilise TextMate, mais les plus Geek pourront utiliser la commande nano ou vi dans le terminal) il faut créer le fichier. Mettons qu’on l’enregistre dans un dossier awk sur le bureau.

2) Première ligne du fichier :

La première ligne du fichier doit impérativement être :

#!/usr/bin/awk -f

(avec le chemin trouvé à l’étape 0)

C’est primordial, cette ligne indique en effet au terminal qu’il s’agit d’un script AWK.

Ensuite il est bon d’écrire sur quelques lignes de commentaires à quoi sert le script que l’on est en train de taper (pour s’en souvenir plus tard).

Notre fichier contient donc :

#!/usr/bin/awk -f

# ligneImpaire.awk : affiche les lignes impaires d'un fichier
# http://jmini.fr/

(NR % 2 == 1) {
	print $0
}

Pour le script en lui même je vous envoie vers d’excellents tutoriaux listé à la fin de cet article.

3) Rendre le fichier exécutable :

Dans le terminal on se place dans le dossier du script avec la commande cd :

cd ~/Desktop/awk/

Ensuite on utilise la commande chmod pour rendre le fichier exécutable :

chmod +x ligneImpaire.awk

4) Lancer le fichier :

Pour lancer le script il suffit de faire avec la commande ./ligneImpaire.awk suivit des fichiers à traiter :

./ligneImpaire.awk texte.txt

Et c’est tout !!!

J’ai écris un autre article sur le fait de rendre un fichier exécutable dans le terminal

En pièce jointe de cet article, retrouvez l’archive contenant tous les fichiers : awk.zip

En savoir plus :

Voir aussi

Les mots-clés de cet article : , , ,

Cet article est dans la catégorie : Pas à pas


© 2007-2024 Jérémie Bresson | jmini.fr | Ce site est sous licence Creative Commons - en savoir plus