mirror of
https://forge.chapril.org/tykayn/workflow
synced 2025-06-20 01:44:43 +02:00
add folders and default variables
This commit is contained in:
parent
8d3b2cca0f
commit
eda5f5ca05
9 changed files with 81 additions and 0 deletions
52
knowledge/org-heading-stats.sh
Normal file
52
knowledge/org-heading-stats.sh
Normal file
|
@ -0,0 +1,52 @@
|
|||
#!/bin/sh
|
||||
|
||||
FILES="${@}"
|
||||
USERTAG="@$USER"
|
||||
|
||||
no_files_found()
|
||||
{
|
||||
echo "No files found. Please do give me some Org-mode files as parameter" >&2
|
||||
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
|
Loading…
Add table
Add a link
Reference in a new issue