ループで sqlite を実行できます。
ダブルリバース
while true; do sqlite3 /tmp/db.db 'select * from (select * from j1939 order by timestamp desc limit 50) order by timestamp asc limit 50'; sleep 1; done | grep -E
簡単な監視
$ while true; do sqlite3 /tmp/db.db 'select * from j1939 where id>(select max(id) from j1939)-50'; sleep 1; done
1621524|LOGIN1|838
1621525|LOGIN2|19
1621526|LOGIN3|839
1621527|LOGIN4|20
1621528|LOGIN5|839 (more...)
結果をフィルタリングできます。
while true; do sqlite3 /tmp/db.db 'select * from j1939 where id>(select max(id) from j1939)-50'; sleep 1; done | grep -E LOGIN5|LOGIN3
1621526|LOGIN3|839
1621528|LOGIN5|839
必要な列を抽出できます
while true; do sqlite3 /tmp/db.db 'select * from j1939 where id>(select max(id) from j1939)-50'; sleep 1; done | cut -d '|' -f 1-2
1621526|LOGIN3|839
1621528|LOGIN5|839
可能な改善
これを に追加することも検討.bashrc
できるので、次のようなことができます
sqlitetailf /tmp/db.db j1939
1621524|LOGIN1|838
1621525|LOGIN2|19
1621526|LOGIN3|839
1621527|LOGIN4|20
1621528|LOGIN5|839
そして2秒後
1621524|LOGIN1|838
1621525|LOGIN2|19
1621526|LOGIN3|839
1621527|LOGIN4|20
1621528|LOGIN5|839
1621527|LOGIN6|20
1621528|LOGIN7|839