Grml Pastezone

Posting 3239 from anonymous posted at 2019-12-13 15:01:29 expires: never

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/bin/sh

FILES="${@}"
USERTAG="@KarlVoit"

no_files_found()
{
    echo "No files found. Please do give me some Org-mode files as parameter"
    exit 1
}

[ "x$FILES" = "x" ] && no_files_found

TODO=`egrep '^\*+.*(TODO|NEXT)' ${FILES}|wc -l`
STARTED=`egrep '^\*+.*STARTED' ${FILES}|wc -l`
WAITING=`egrep '^\*+.*WAITING' ${FILES}|wc -l`
CANCELLED=`egrep '^\*+.*CANCELLED' ${FILES}|wc -l`
DONE=`egrep '^\*+.*DONE' ${FILES}|wc -l`

TOTAL=`wc -l ${FILES}|grep total`
HEADINGS=`egrep '^\*+' ${FILES}|wc -l`

USERTAGGED=`egrep "^\*+.*:${USERTAG}:.*" ${FILES}|wc -l`
OTHERATTAGGED=`egrep '^\*+.*:@.+:.*' ${FILES} | grep -v "${USERTAG}" | wc -l`

OPEN=$(( TODO + STARTED + WAITING ))
FINISHED=$(( CANCELLED + DONE ))
TASKS=$(( OPEN + FINISHED ))
NONTASKS=$(( HEADINGS - TASKS ))

cat <<EOF

Stats for: $FILES

    $HEADINGS headings in $TOTAL lines
        $TASKS task headings
        $NONTASKS non-task headings
        $USERTAGGED tagged with $USERTAG
        $OTHERATTAGGED tagged with "@.+" but not "$USERTAG"

    $OPEN open tasks:
        TODO:      $TODO
        STARTED:   $STARTED
        WAITING:   $WAITING

    $FINISHED finished tasks:
        CANCELLED: $CANCELLED
        DONE:      $DONE

EOF

#end

Show as text | Download | Without linenumbers | Paste new | Paste as new