टर्मिनल में कैलेंडर घटनाओं को पाठ के रूप में प्रदर्शित करना


10

Yosemite का उपयोग करना, क्या कमांड लाइन में मेरे कैलेंडर से घटनाओं को प्रदर्शित करने का एक तरीका है?

मैं छुट्टियों और इस तरह, / usr / शेयर / कैलेंडर / और आदेश 'कैलेंडर' जैसी चीजों के लिए स्टॉक कैलेंडर सेब की आपूर्ति से अवगत हूँ, इनमें सूचीबद्ध घटनाओं को प्रदर्शित करने के लिए। वहाँ एक ही बात करने के लिए लेकिन मेरे अपने कैलेंडर से घटनाओं की सूची है?

मैंने पाया है कि व्यक्तिगत कैलेंडर ~ / लाइब्रेरी / कैलेंडर में संग्रहीत किए जाते हैं, लेकिन मैंने उस फ़ोल्डर के भीतर जो कुछ भी पाया है वह 'कैलेंडर' कमांड के साथ काम नहीं करता है। "D4385-GS57-D352-GA248592.calendar" के समान अस्पष्ट नाम वाले कई फ़ोल्डर हैं। और कुछ फ़ोल्डरों में बहुत सारी * .ics फाइलें होती हैं, जो मुझे लगता है कि कैलेंडर ईवेंट हैं।


calendar* .ics फ़ाइलों के साथ काम नहीं करता है, man calendarसमर्थित फ़ाइल प्रारूप के लिए देखें । लेकिन मैं उत्सुक हूं कि क्या आपके कैलेंडर की सामग्री को पठनीय रूप में सूचीबद्ध करने के लिए कुछ अन्य साधन हैं।
nohillside

@patrix यह सही है। जब मैंने इस कमांड के बारे में पता किया तो मैन पेज पढ़ा। मुझे इस बारे में बहुत अधिक जानकारी नहीं है कि आधुनिक ओएस एक्स में कैलेंडर कैसे काम करते हैं, लेकिन मुझे लगता है कि * .ics फाइलें कैलेंडर प्रविष्टियां हैं। आपने जो उल्लेख किया है वह वही है जिसकी मैं तलाश कर रहा हूं, पाठ सामग्री में कैलेंडर सामग्री को सूचीबद्ध करने के लिए कुछ अन्य साधन।
दिमागी कसरत

जवाबों:


8

कैसे कुछ इस तरह के बारे में:

$ 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
...

यह कमांड आपके सभी कैलेंडर (सभी सब्सक्राइब्ड शामिल) में सभी घटनाओं का उत्पादन करेगा।


1
यह बहुत अच्छा है, मैं अभी एक शुरुआती शुरुआती मार्गदर्शिका के माध्यम से काम कर रहा हूं, यह जानने के लिए कि यह कैसे काम करता है। मैं तारीख तक की घटनाओं को छानने के लिए पर्याप्त सीखने की उम्मीद करता हूं। आदर्श रूप से मैं एक आदेश पारित करने में सक्षम होना चाहूंगा जो वर्तमान दिन और शायद पांच दिनों के लिए घटनाओं को दर्शाता है।
दिमागी दवा

यदि आपको त्रुटि हो रही है: xargs: grep: तर्क सूची बहुत लंबी है : cd ~/Library/Calendars/; grep -r -h -e "SUMMARY" -e "DTSTAMP" . --include='*.ics'पहले भाग के लिए sed के तक।
पेगासस्पेक्ट

9

आपको icalbuddy http://hasseg.org/icalBuddy/ में देखना चाहिए । यह आपको कॉन्फ़िगर करता है कि आप किन दिनों को आउटपुट करना चाहते हैं, तारीख / कैलेंडर और सभी क्षेत्रों द्वारा। यह वास्तव में सभी प्रकार के कैलेंडरों (सिंक किए गए और नहीं) के साथ महान बातचीत करता है और टर्मिनल, गीकटूल आदि में इस्तेमाल किया जा सकता है।


FYI करें - iCalBuddy बहुत अच्छा है लेकिन OS X 10.11 के साथ एक बग है जो यहां रिपोर्ट किया गया है: github.com/ali-rantakari/icalBuddy/issues/14
मैट

तब से ठीक लग रहा है।
मार्टिन डेलिले

8

मैं icalbuddy का एक संस्करण स्थापित करने के लिए Homebrew का उपयोग करना पसंद करता हूं जो OS X 10.11 के साथ ठीक काम करता है

brew install ical-buddy 

1
Homebrew संस्करण अब पर पाया जा सकता है brew install ical-buddy:। ध्यान दें।
रिचर्ड क्रेंनडॉन्क
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.