A simple command line journal application that stores your journal in a plain text file, developed in bash and inspired in jrnl.sh
Install jrnl to /usr/bin/jrnl
# sudo make install
Include in your .bashrc
source jrnl_aliases
alias j1='jrnl -1'
alias j2='jrnl -2'
alias j3='jrnl -3'
alias j4='jrnl -4'
alias j5='jrnl -5'
alias j6='jrnl -6'
alias j7='jrnl -7'
alias j8='jrnl -8'
alias j9='jrnl -9'
alias j='jrnl'
alias jY='jrnl year'
alias jYs='JRNL_DONT_SHOW_DETAIL=1 jrnl year'
alias ja='jrnl all'
alias jad='jrnl add'
alias jadd='jrnl add'
alias jc='jrnl copy'
alias jd='jrnl diff'
alias je='jrnl edit'
alias jf='jrnl file'
alias jh1='jrnl h 1'
alias jh2='jrnl h 2'
alias jh3='jrnl h 3'
alias jh='jrnl -10'
alias ji1='jrnl i 1'
alias ji2='jrnl i 2'
alias ji3='jrnl i 3'
alias jj='cd .jrnl/$(date +%Y)/$(date +%Y-%m)/$(date +%F)'
alias jl='jrnl ls'
alias jls='JRNL_DONT_SHOW_DETAIL=1 jrnl ls'
alias jm='jrnl month'
alias jms='JRNL_DONT_SHOW_DETAIL=1 jrnl month'
alias jn='jrnl new'
alias jr='jrnl rm'
alias jt='jrnl time'
alias jv='jrnl view'
alias jw='jrnl week'
alias jws='JRNL_DONT_SHOW_DETAIL=1 jrnl week'
alias jx='jrnltimestampfix; jrnltimefix'
alias jy='jrnl yesterday'
alias td='timediff'
Create a journal:
# jrnl
View the last journal:
# jrnl 1
2017-07-22 09:05 add help and version +help
@ 01:24 hs
View the last five journals:
# jrnl 5
2017-07-22 09:05 add help and version +help
@ 01:24 hs
2017-07-22 08:47 fix find last files +find
@ 00:12 hs
List all journals, optionally filter by PATTERN or REGEX
# jrnl a
0328c3 □▣▣▣▣▨ 00:34 11:19 11:53 create repo in github and initialize local repo with minimal README.md, add jrnl directory, todo.txt files and `.g...
19d7cb □□□□□▣ 00:50 19:54 20:44 fix jrnl with shellcheck
3348c0 ▣▣▣▣□□ 00:27 08:11 08:38 add alternative for colors without tput +termux
9809e9 □□□□▣▣ 00:12 08:47 08:59 fix find last files +find
01238c ▣▣▣▣▣▣ 01:24 09:05 10:29 add help and version +help
182521 □□□□▣▣ 00:37 12:50 13:27 add quick enter of journal from command line without edit in Vim
1abb58 □□□▣▣□ 00:18 16:34 16:52 draw draft activity and sequence diagrams of jrnl and redmine
489216 □□□▣▣▣ 01:11 15:40 16:51 allow create new journal from STDIN or PIPE
6185ce □□▣▨□□ 00:03 18:31 18:34 replace hash of content file with hash of filename
9ee550 □□□□▣▣ 00:13 00:47 01:00 set duration time of last journal when create new journal
ad7a19 ▣▣▣▣▨□ 00:43 01:01 01:44 List last week/month journals
522611 □□□□▣▣ 02:04 01:45 03:49 add hour timeline
7b1f19 □□□□▣▣ 00:10 12:48 12:58 add day timeline
2017-10-17 08:46 0 □□□□▣▣ 1 ▣▣▣▣▣▣ 8 ▣▣▣▣▣▣ 9 ▣▣▣▣▣▣ 11 □▣▣▣▣▨ 12 □□□□▣▣ 15 □□□▣▣▣ 16 □□□▣▣□ 18 □□▣▨□□ 19 □□□□□▣
List all journals filtered by PATTERN
# jrnl a github
0328c3 □▣▣▣▣▨ 00:34 11:19 11:53 create repo in github and initialize local repo with minimal README.md, add jrnl directory, todo.txt files and `.g...
2017-07-15 00:34 11 □▣▣▣▣▨
List all journals filtered by REGEX
# jrnl a "#[0-9]+"
Copy journal by HASH
# jrnl c ha4s5h
View differences between journals
# jrnl d ha4sh1 ha4sh2
View difference with the last journal
# jrnl d ha4sh1
Edit last journal
# jrnl e
Edit specified journal by HASH
# jrnl e ha4s5h
Show short help
# jrnl --help
Show full help
# jrnl -h
List today journals
# jrnl l
Delete a journal specified by hash
# jrnl rm
Delete a the last journal
# jrnl rm ha4s5h
Set specified time in HH:MM format or by default with difference between current time and header timestamp of journal
# jrnl t 00:25
# jrnl t
View the last journal
# jrnl v
View a journal specified by hash
# jrnl v ha4s5h
Set filename of journal with timestamp of journal header
# jrnl fix
# jrnl x
List yesterday journals
# jrnl y
List last week journals
# jrnl w
Set the duration of journal with actual time or specified end time
# jrnltimediff .jrnl/2019/2019-02/2019-02-22/012003.txt
# jrnltimediff .jrnl/2019/2019-02/2019-02-22/012003.txt 01:32
When journal have a empty time, set with timediff of start time of next journal entry.
# jrnl list
c9d9f5 □▣□□□□ 00:00 01:20 01:20 example a
71cd58 □□▣□□□ 00:00 01:32 01:32 example b
da7c4d □□□▣□□ 00:00 01:40 01:40 example c
715b93 ▣□□□□□ 00:00 02:11 02:11 example d
# jrnltimefix
[OK] [set_time] set time: 00:12 in file: /home/osiris/git/osiux/txt-bash-jrnl/.jrnl/2019/2019-02/2019-02-22/012003.txt
[OK] [set_time] set time: 00:08 in file: /home/osiris/git/osiux/txt-bash-jrnl/.jrnl/2019/2019-02/2019-02-22/013259.txt
[OK] [set_time] set time: 00:31 in file: /home/osiris/git/osiux/txt-bash-jrnl/.jrnl/2019/2019-02/2019-02-22/014019.txt
[OK] [set_time] set time: 01:10 in file: /home/osiris/git/osiux/txt-bash-jrnl/.jrnl/2019/2019-02/2019-02-22/021135.txt
# jl
c9d9f5 □▣▣□□□ 00:12 01:20 01:32 example a
71cd58 □□▣▣□□ 00:08 01:32 01:40 example b
da7c4d □□□▣▣▣ 00:31 01:40 02:11 example c
715b93 ▣▣▣▣▣▣ 01:10 02:11 03:21 example d
Set filename of journal with timestamp of journal header.
# jrnltimestampfix
'/home/osiris/git/osiux/txt-bash-jrnl/.jrnl/2019/2019-02/2019-02-22/012003.txt' -> '/home/osiris/git/osiux/txt-bash-jrnl/.jrnl/2019/2019-02/2019-02-22/012203.txt'
'/home/osiris/git/osiux/txt-bash-jrnl/.jrnl/2019/2019-02/2019-02-22/014019.txt' -> '/home/osiris/git/osiux/txt-bash-jrnl/.jrnl/2019/2019-02/2019-02-22/014219.txt'
'/home/osiris/git/osiux/txt-bash-jrnl/.jrnl/2019/2019-02/2019-02-22/013259.txt' -> '/home/osiris/git/osiux/txt-bash-jrnl/.jrnl/2019/2019-02/2019-02-22/013459.txt'
'/home/osiris/git/osiux/txt-bash-jrnl/.jrnl/2019/2019-02/2019-02-22/021135.txt' -> '/home/osiris/git/osiux/txt-bash-jrnl/.jrnl/2019/2019-02/2019-02-22/021335.txt'
- all software licensed under the terms of the GNU General Public License:
- all documentation, notes, ideas, graphics and sounds are licensed under the Creative Commons Attribution-ShareAlike 4.0 International License:
Osiris Alejandro Gómez, worker cooperative of gcoop Cooperativa de Software Libre.