( locsemege | 2013. 08. 19., h – 02:52 )

#!/bin/awk -f

BEGIN {
    pattern="bb..rr";
    FPAT="^.{2}|.{3}";
    l=length(pattern);
}

/^ *[^[:digit:] ]/ {
    print;
    next;
}

{
    for (i=1; i<=NF; i++) {
        if ($i ~ /^ +$/) {
            printf ($i);
            continue;
        }
        if (p>l || p<1) p=1;
        switch (substr(pattern, p, 1)) {
            case "r":
                color="\x1b[31;1m";
                break;
            case "g":
                color="\x1b[32;1m";
                break;
            case "b":
                color="\x1b[34;1m";
                break;
            default:
                color="";
        }
        p++;
        printf ("%s%s\x1b[0m", color, $i);
    }
    printf ("\n");
}

A cal-t kell belecsövezni:

cal -m | ./dt p=3

A p értéke megmondja, hogy a pattern hanyadik elemétől induljon a hónap első napja.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE