-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjustdiary.sh
executable file
·54 lines (46 loc) · 1.23 KB
/
justdiary.sh
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
53
54
#!/bin/bash
DIARY_PATH="~/Diary/"
cd $DIARY_PATH
CONTENT=$(echo $* | egrep -o ': .*' | sed "s/: //") #Get everyhing after ": "
DATE=$(echo $* | sed "s/: $CONTENT//") #Get date so everyting before ": "
if date -d "$DATE" | grep 'invalid' -q -v; then
# Found valid date
DATE=$(date -d "$DATE")
echo $DATE > /tmp/date.justdairy.tmp
else
# Did not find valid date
if date -d "$*" | grep 'invalid' -q -v; then
DATE=$(date -d "$*")
echo $DATE > /tmp/date.justdairy.tmp
else
ALL=$*
if date -d "${ALL%:*}" | grep 'invalid' -q -v; then
echo ${ALL%:*} > /tmp/date.justdairy.tmp
else
echo "no date so today"
date > /tmp/date.justdairy.tmp
touch /tmp/nodate.justdairy.tmp
fi
fi
fi
DATE=$(cat /tmp/date.justdairy.tmp)
rm /tmp/date.justdairy.tmp
mkdir -p $(date +%Y/%m/ -d "$DATE")
if [ -f /tmp/nodate.justdairy.tmp ]; then
rm /tmp/nodate.justdairy.tmp
CONTENT=$*
fi
if [[ ${#CONTENT} == 0 ]]; then
$EDITOR $(date +%Y/%m/%d -d "$DATE").txt
exit
fi
if [ -f $(date +%Y/%m/%d -d "$DATE").txt ] # if file exists
then
if [ -s $(date +%Y/%m/%d -d "$DATE").txt ] # if file is empty
then
echo "" >> $(date +%Y/%m/%d -d "$DATE").txt
fi
fi
APPEND=$(date +%H:%M -d "$DATE")
echo $APPEND $CONTENT >> $(date +%Y/%m/%d -d "$DATE").txt
exit