-
Notifications
You must be signed in to change notification settings - Fork 0
/
journal
executable file
·40 lines (36 loc) · 991 Bytes
/
journal
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
VERSION=1.0
help()
{
# Display Help
echo "Journal whatever you like. Keep them easily reachable with search."
echo
echo "ENVIRONMENT variable 'JOURNAL_DATA_FILE' needs to contain a file path where journal can write to"
echo
echo "Syntax: journal [-f|p|h|v]"
echo "options:"
echo "-h help"
echo "-v version"
echo "-p TEXT post a new journal entry with TEXT"
echo "-f PATTERN find entries which match a pattern. 'grep' is used internally"
echo
}
while getopts ":hvp:f:" option; do
case $option in
h) # display help
help
exit;;
v) # display version
echo "journal v$VERSION"
exit;;
f) # find entries matching pattern
PATTERN=$OPTARG;;
p) # post new entry
echo "$(date '+%Y-%m-%d %H:%M') $OPTARG" >> $JOURNAL_DATA_FILE
exit;;
esac
done
if [[ -z $PATTERN ]]
then
PATTERN=$(date "+%Y-%m-%d")
fi
grep -E "$PATTERN" $JOURNAL_DATA_FILE