首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于日期创建文件?

基于日期创建文件?
EN

Stack Overflow用户
提问于 2011-06-29 12:34:29
回答 2查看 2.6K关注 0票数 2

我正在尝试编写一个bash脚本来创建/检查基于日期的文件是否存在。基本上,我想有一个目录的todo_lists,其中有文件与今天的待办事项列表。因此,每次我打开终端(mac os 10.6.8)时,它都会检查6-29-11.txt或其他基于

代码语言:javascript
运行
复制
date "+%m%d%Y"

如果它存在,只需less它的内容,如果它不创建一个。

所以我想知道如何使用日期格式的字符串作为文件名,以及如何检查字符串变量。

代码语言:javascript
运行
复制
[ -e date_string.txt ] && ...

我该如何完成这些事情,我对bash还是个新手

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-29 12:35:54

试试这个:

代码语言:javascript
运行
复制
DATE=`date "+%m%d%Y"`
if [ -f "todo_lists/$DATE.txt" ]; then
  do stuff
fi

反引号(`)表示运行此命令并以字符串形式返回输出

票数 5
EN

Stack Overflow用户

发布于 2011-06-29 20:41:59

为此,您的Mac已经插入了项目符号。

简而言之:您可以创建任何文件(默认为$HOME/日历),并可以在其中输入一行提醒,格式如下:

代码语言:javascript
运行
复制
06/29<TAB>reminder for today
06/30<TAB>reminder for tomorrow
07/15<TAB>another one

在您的$HOME/.profile中简单地输入calendar命令。

之后,每次你打开一个新的终端窗口,calendar命令都会在日历文件中查找今天的提醒,当找到提醒时,就会打印出来……

您可以包含更多不同的日历(例如,带有命名日期)和更多...

检查man calendar

你的qst的答案是:

代码语言:javascript
运行
复制
file="./todo/$(date "+%F").txt"
[ -f "$file" ] && {
        echo "My today reminders"
        cat "$file"
}

我建议使用"+%F“(2011-06-29)的格式,因为当你执行ls或类似的操作时,你会得到一个排序的文件列表。

ps:使用$(command ....)表单而不是command (反引号),因为你可以很容易地嵌套$(command $(another $(nexT)))它们。Backticks在当前bash中已被弃用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6515796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档