Hiển thị các sự kiện lịch dưới dạng văn bản, trong thiết bị đầu cuối


10

Sử dụng Yosemite, có cách nào để hiển thị các sự kiện từ lịch của tôi trong dòng lệnh không?

Tôi biết về lịch cung cấp táo cho những thứ như ngày lễ và như vậy, / usr / share / calendar / và lệnh 'calendar' để hiển thị các sự kiện được liệt kê trong các sự kiện này. Có cách nào để làm điều tương tự nhưng liệt kê các sự kiện từ lịch của riêng tôi không?

Tôi thấy rằng lịch cá nhân được lưu trữ trong ~ / Thư viện / Lịch nhưng mọi thứ tôi tìm thấy trong thư mục đó không hoạt động với lệnh 'lịch'. Có một số thư mục có tên không rõ ràng tương tự như "D4385-GS57-D352-GA248592.calWiki". Và một số thư mục chứa rất nhiều tệp * .ics, mà tôi nghĩ là các sự kiện lịch.


calendarkhông hoạt động với các tệp * .ics, xem man calendarđịnh dạng tệp được hỗ trợ. Nhưng tôi tò mò liệu có một số phương tiện khác để liệt kê nội dung lịch của bạn ở dạng có thể đọc được.
nohillside

@patrix Đúng vậy. Tôi đọc qua trang man khi tôi biết về lệnh này. Tôi không biết quá nhiều về cách hoạt động của lịch trong OS X hiện đại, nhưng tôi nghĩ các tệp * .ics là các mục lịch. Những gì bạn đề cập là những gì tôi đang tìm kiếm, một số phương tiện khác để liệt kê nội dung lịch ở dạng văn bản.
trí

Câu trả lời:


8

Làm thế nào về một cái gì đó như thế:

$ find ~/Library/Calendars -name "*.ics" |
      xargs grep -h -e "SUMMARY" -e "DTSTAMP" |
      sed -E 's/^[A-Z].*:(.*$)/\1/g' |
      sed -E 's/^([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2})([0-9]{2})([0-9]{2}).*$/\1-\2-\3 \4:\5:\6/g'
Fists Birthday
2014-05-16 05:44:20
Secons Birthday
2014-07-26 09:58:49
Thirds Birthday
2014-05-16 05:44:20
...

Lệnh này sẽ xuất tất cả các sự kiện trong tất cả các lịch của bạn (bao gồm các sự kiện đã đăng ký).


1
Điều này thật tuyệt, tôi đang làm việc thông qua một hướng dẫn dành cho người mới bắt đầu ngay bây giờ để tìm hiểu cách thức hoạt động của nó. Tôi hy vọng sẽ học đủ để lọc các sự kiện theo ngày. Lý tưởng nhất là tôi muốn có thể thông qua một lệnh hiển thị các sự kiện cho ngày hiện tại và có thể là năm ngày.
trí

Nếu bạn đang gặp lỗi: xargs: grep: Danh sách đối số quá dài Sử dụng: cd ~/Library/Calendars/; grep -r -h -e "SUMMARY" -e "DTSTAMP" . --include='*.ics'cho phần đầu tiên cho đến khi sed.
pegasuspect

9

Bạn nên xem xét icalbuddy http://hasseg.org/icalBuddy/ . Điều này cho phép bạn định cấu hình những ngày bạn muốn xuất, theo ngày / lịch và tất cả các trường. Nó thực sự tương tác tuyệt vời với các loại lịch (đồng bộ hóa và không) và có thể được sử dụng trong thiết bị đầu cuối, geektool, v.v.


FYI - iCalBuddy rất tuyệt nhưng có một lỗi với OS X 10.11 được báo cáo ở đây: github.com/ali-rantakari/icalBuddy/issues/14
Matt

Nó dường như được sửa chữa kể từ đó.
Martin Delille

8

Tôi thích sử dụng Homebrew để cài đặt phiên bản icalbuddy hoạt động tốt với OS X 10.11

brew install ical-buddy 

1
Phiên bản homebrew bây giờ có thể được tìm thấy tại : brew install ical-buddy. Lưu ý dấu gạch ngang.
Richard Kranendonk
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.