scratch/content/html/fr/blog/2010-02-18-split-a-file-by-keyword.md
2010-05-09 14:53:46 +02:00

1.1 KiB

isHidden menupriority kind created_at title author_name author_uri tags
false 1 article 2010-02-18T15:29:14+02:00 découper un fichier par mots clés Yann Esposito yannesposito.com
awk
shell
script

Assez bizarrement, je n'ai trouvé aucun outil UNIX pour découper un fichier par mot clé. Alors j'en ai fait un en awk. Je le met ici principalement pour moi, mais ça peut toujours servir à quelqu'un d'autre. Le code suivant découpe un fichier pour chacune de ses ligne contenant le mot UTC.

#!/usr/bin/env awk BEGIN{i=0;} /UTC/ { i+=1; FIC=sprintf("fic.%03d",i); } {print $0>>FIC}

En réalité, j'avais besoin de cet outils pour avoir un fichier par jour. Chaque ligne contenant UTC ayant le format suivant :

Mon Dec  7 10:32:30 UTC 2009

J'en suis finallement arrivé au code suivant :

#!/usr/bin/env awk BEGIN{i=0;} /UTC/ { date=$1$2$3; if ( date != olddate ) { olddate=date; i+=1; FIC=sprintf("fic.%03d",i); } } {print $0>>FIC}