Awk

De bricosoft
Version datée du 2 décembre 2014 à 14:55 par Sysop (discussion | contributions) (plusieurs séparateurs avec awk)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche
Erreur dans le widget Twitter Search: unable to write file /home/gbp4dt5/zones/bricosoft.com/www/extensions/Widgets/compiled_templates/wrt69750f537b4f68_86133126

awk et une commande unix avec son langage de programmation pour manipuler des lignes.

#!/usr/bin/awk -f
BEGIN { print "Hello, world!" }

awk et les fichiers de tableur .csv

awk permet une infinité de bidouille avec des fichiers csv.


awk vs cut

On utilise souvent cut et awk pour n'afficher qu'une "colonne" d'un texte, mais awk va plus loin.

Par exemple avec un séparateur de plusieurs caractères. Ici on liste tous les shells différents des utilisateurs :

$ awk -F"/bin/" '{print $2}' /etc/passwd |sort|uniq

Et avec cut :

$ cut -d':' -f 7 /etc/passwd|cut -d'/' -f 3|sort|uniq
bash
false
sh
sync

plusieurs séparateurs avec awk

Si vous avez plusieurs séparateurs possibles, faite une liste avec comme séparateur | :)

awk -F "=|:|,"

lancer une commande bash dans le script awk

avec system() :

awk -F"," '{printf "%s",$1; printf ",%s",$2; gsub( /\n$/, "" );system("bash -c '\ga.php "$1" | grep buzo '\")

Liens

{{#switch:|subgroup|child=|none=|#default=

}}