NAME
ical - Module to support Apple macOS Calendar data
SYNOPSIS
greple -Mical [ options ]
--simple print data in one line
--detail print one line data with description if available
SAMPLES
greple -Mical PATTERN
greple -Mical --simple PATTERN
greple -Mical --detail PATTERN
DESCRIPTION
This module searches Apple macOS Calendar data.
Recent versions of macOS store calendar data in a SQLite database (Calendar.sqlitedb under ~/Library/Group Containers/group.com.apple.calendar), instead of individual .ics files which older versions used. This module reads the database with the sqlite3 command and converts each event to a VEVENT-like paragraph, which is then searched by greple in paragraph mode:
BEGIN:VEVENT
DTSTART:20260903T163000
DTEND:20260903T190000
SUMMARY:映画:ローマの休日
LOCATION:Theater X
END:VEVENT
Used without options, matched events are printed in the above format.
With --simple option, summarize content in single line:
2026/09/03 16:30-19:00 映画:ローマの休日 @[Theater X]
With --detail option, print summarized line with description data if it is attached. The result is sorted.
REQUIREMENTS
The sqlite3 command is required (standard on macOS).
The terminal application needs the Full Disk Access privilege to read the calendar database. If you get an "Operation not permitted" error, add your terminal application in: System Settings -> Privacy & Security -> Full Disk Access, and restart the terminal.
TIPS
Use -dfn option to observe the command running status.
Use -ds option to see statistics information.
SEE ALSO
RFC2445
AUTHOR
Kazumasa Utashiro
LICENSE
Copyright 2017-2026 Kazumasa Utashiro.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.