如何在(OS X)bash中以YYYY-MM-DD格式获取当前日期?

25

我正在编写一个shell脚本,我想做这样的事情:

cp myfile.ext myfile.2011-06-10.ext

其中 2011-06-10 是当前日期。

您有什么想法?

4个回答

49
cp myfile.ext myfile.`date +%Y-%m-%d`.ext

或者使用简写格式

date +%F

4
你还可以使用date +%F作为一种简写方式。 - Yzmir Ramirez

8

尝试

 cp myfile.ext myfile.`date "+%Y-%m-%d"`.ext

为了得到一个正确的解决方案,首先将名称分解成基本名称和扩展名,然后分配日期,最后重新组合成最终的目标名称。

关键是

 date +FORMAT

该命令支持非常丰富的格式字符串。请参见date --help或相当精细的手册。


4

date实用工具的手册包含了多种输出日期的示例。


3
cp myfile.ext myfile.$(date +%F).ext

1
%F 不是 POSIX 标准。你确定它在 OS X 上能正常工作吗? - Nemo
@Nemo,在macOS High Sierra中已确认。 - Yzmir Ramirez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接