我有一半的C类,也许有一两个shell脚本是我写作从经验中绘制的。我正在尝试解析计划中的数据,以便从终端将其上传到Google日历。我收到的日程中的文本这样的块:解析日程表以上传到Google日历
星期六2012年9月1日00:00:00 GMT-0700(PDT)星期六2:00 PM 11:00 PM
太阳2012年9月2日00: 00:00 GMT-0700(PDT)周日00:00 AM 00:00 AM
星期一2012年9月3日00:00:00 GMT-0700(PDT)周一上午9:00下午6:00
星期二2012年9月4日00:00:00 GMT-0700(PDT)周二9:00 AM 6:00 PM
Wed Sep 05 2012 00:00:00 GMT-0 700(PDT)周三00:00 AM 00:00 AM
星期四2012年9月6日00:00:00 GMT-0700(PDT)周四8:00 AM 4:00 PM
周五2012年9月7日00:00:00 GMT-0700(PDT)周五10:00 AM至7:00 PM
我也想通了,与googlecl我可以输入这个到我的终端:
$谷歌日历添加“09月03日工作9至6“
然后我会得到一个日历事件,然后我可以自动同步到我的手机。
我已经通读了一些关于sed和awk的文档,弄清楚我可以用这些来抓住每一行的第5到第10(即Sep 01)字符和转换开始和结束的时间,添加“工作”标题,并将其直接传递给googlecl。尽管如此,我还没有得到它。
我也试过在C中研究文件I/O,因为我可以将我的日程表导出到一个文本文件中,然后可能使用C将日程表以普通英语传递给Google日历。
是sed和awk这样做的首选方式? (我想这只是普通的* nix命令是我的第一选择,如果我能弄明白的话)我应该用C编写一个小程序来做到这一点吗?任何帮助(即使它只是连接到我最喜欢的教程,所以我可以做更多的阅读),将不胜感激,因为我发现谷歌搜索的许多网页都很长,有点在我头上。谢谢。
所以我发现了关于剪切,这似乎可能真的有帮助。我现在有这条小线:cat schedule | grep 00:00 | cut -b5-10 –
cat schedule | grep 00:00 | cut -b5-10 -b41-65 这会给我一个很好的输出,像这样:9月06日星期四下午1:30 PM 9:00 PM所以现在我只需要用“Work”一词来替换一周中的一天的名字,并将每条线分别传递给googlcl。 –