gpt4 book ai didi

c - 解析要上传到 Google 日历的时间表

转载 作者:行者123 更新时间:2023-11-30 14:24:06 26 4
gpt4 key购买 nike

我已经编写了半门 C 类(class)和一两个 shell 脚本来作为经验。我正在尝试解析时间表中的数据,以便将其从终端上传到 Google 日历。我收到这样的文本 block 中的时间表:

Sat Sep 01 2012 00:00:00 GMT-0700 (PDT) Saturday 2:00PM 11:00PM

Sun Sep 02 2012 00:00:00 GMT-0700 (PDT) Sunday 00:00AM 00:00AM

Mon Sep 03 2012 00:00:00 GMT-0700 (PDT) Monday 9:00AM 6:00PM

Tue Sep 04 2012 00:00:00 GMT-0700 (PDT) Tuesday 9:00AM 6:00PM

Wed Sep 05 2012 00:00:00 GMT-0700 (PDT) Wednesday 00:00AM 00:00AM

Thu Sep 06 2012 00:00:00 GMT-0700 (PDT) Thursday 8:00AM 4:00PM

Fri Sep 07 2012 00:00:00 GMT-0700 (PDT) Friday 10:00AM 7:00PM

我发现使用 googlecl 我可以在终端中输入以下内容:

$ google calendar add "Sep 3 Work 9 to 6"

我会收到一个日历事件,然后我可以自动同步到我的手机。

我已经阅读了一些关于 sed 和 awk 的文档,认为我可以使用它们来抓取每行的第 5 个到第 10 个(即 Sep 01)字符以及轮类开始和结束的时间,添加“Work”标题,并将其直接通过管道传送到 googlecl。不过我还没把它记下来。

我还尝试过用 C 语言研究文件 i/o,因为我可以将上面所示的日程表导出到文本文件,然后可能使用 C 将日程表以简单的英语通过管道传输到 Google 日历。

sed 和 awk 是执行此操作的首选方法吗? (我想如果我能弄清楚的话,用常见的 *nix 命令来做这件事是我的第一选择)我应该用 C 编写一个小程序来做到这一点吗?任何帮助(即使只是将我链接到您最喜欢的教程,以便我可以做更多阅读)将不胜感激,因为我在谷歌搜索中发现的许多页面都非常长,而且有点超出我的理解范围。谢谢。

最佳答案

awk '{ if ($9 != $10) {print "google calendar add \"" $2, $3, "Work", $9, "to", $10"\""}}' cal

结果:

google calendar add "Sep 01 Work 2:00PM to 11:00PM"
google calendar add "Sep 03 Work 9:00AM to 6:00PM"
google calendar add "Sep 04 Work 9:00AM to 6:00PM"
google calendar add "Sep 06 Work 8:00AM to 4:00PM"
google calendar add "Sep 07 Work 10:00AM to 7:00PM"

说明:

if ($9 != $10) {...}

如果它们相同,则您似乎不需要将它们输入日历中。另外,隐式检查非空行。

print "google calendar add \"" $2, $3, "Work", $9, "to", $10"\""

打印带有相关字段的字符串,转义引号。

编辑:至于自动执行它,存在一些微妙的引用问题,因此将这一行放入 for 循环中并不是微不足道的(对我来说!)。一种简单的方法是将结果存储在“file”中,然后存储在“sh file”中。

关于c - 解析要上传到 Google 日历的时间表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12241638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com