# -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
##@creator: jclain
##@created: 27/04/2016 03:19
##@modifier: jclain
##@changecount: 1
##@tags:
##@title: umatch

{{{
umatch: Afficher le résultat d'une recherche par regexp et compter
éventuellement leurs occurences

USAGE
    umatch [options] [regexp]

Chaque ligne *entière* de stdin est mise en correspondance avec l'expression
regulière qui doit avoir la syntaxe de awk. S'il y a correspondance, afficher
soit toute l'expression matchée, soit chaque groupe s'il y a des expressions
parenthésées, chacun des groupes étant séparé par le caractère sep.

Si l'expression régulière n'est pas spécifiée, elle vaut par défaut '.*' ce qui
fait que toutes les lignes correspondent. Ceci peut être utile avec les options
-s et -c.

Certaines expressions régulières sont prédéfinies. regexp peut avoir l'une des
valeurs prédéfinies suivantes:

    ip --> [0-9]+\.[0-9]+\.[0-9]+\.[0-9]+

OPTIONS
    -F sep
        Spécifier le caractère séparateur en sortie s'il faut afficher des
        champs multiples. Par défaut, utiliser le caractère ':'
        Si un séparateur vide est spécifié, le séparateur standard de awk est
        utilisé.
    -s  Trier le résultat
    -C FIELDNUM
    -c, --count
        Compter les occurences successives de la valeur du champ FIELDNUM, et
        afficher une ligne de la forme 'count<sep>last_line' pour chaque groupe,
        last_line étant la dernière occurence du groupe. L'option -c correspond
        à '-C 0', c'est à dire compter les occurences successives de toute les
        lignes.
        Le séparateur utilisé pour calculer le numéro de champ est sep, spécifié
        avec l'option -F.
    -a, --all-lines
        Avec les options -c/-C, afficher toutes les lignes des occurences
        successives au lieu de seulement la ligne de la dernière occurence. Ceci
        est utile surtout avec l'option -C, pour voir les différences avec les
        différentes lignes.
    -m, --multiple
        Avec les options -c/-C, n'afficher que les lignes dont le compte est
        supérieur à 1. Avec l'option -a, les groupes contigus sont séparés par
        une ligne '--'
}}}
