timetracker/do_process

59 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
ORGS=()
if [[ "x${1}" == "x" ]]; then
DATE=$(date +%F)
else
DATE=$1
fi
if [[ -f ${DATE}.log ]]; then
get_list_of_orgs () {
orgs=$( grep -Po "\s+\[.*\]" | tr -d '[][]' )
for org in ${orgs}; do
org="${org##*( )}" # trim leading whitespace
org="${org%%*( )}" # trim trailing whitespace
[[ "${ORGS[@]}" =~ "${org}" ]] || ORGS+=("${org}")
done
}
get_list_of_orgs < ${DATE}.log
for (( i=0; i < ${#ORGS[@]}; i++ )); do
echo "ORGS[$i]=${ORGS[$i]}"
done
#for org in "${ORGS[@]}"; do
# echo ${org}
#done
echo "--"
echo ${DATE}
echo
echo
echo
WHOLE=""
for pattern in "${ORGS[@]}" meeting; do
#echo "pattern=${pattern}" >&2
if [[ "${pattern}" == "meeting" ]]; then
grep -- "${pattern}" ${DATE}.log | grep -Ev -- "${WHOLE}" | timetracker
else
grep -- "${pattern}" ${DATE}.log | timetracker
fi
echo
if [[ "${WHOLE}x" == "x" ]]; then
WHOLE="${pattern}"
else
WHOLE="${WHOLE}|${pattern}"
fi
echo
done
grep -Ev -- "${WHOLE}" ${DATE}.log | timetracker
echo
timetracker ${DATE}.log | grep "Section" | sed 's/Section/Grand/'
else
echo "${DATE}.log does not exist" >&2
fi