OS X终端命令用于创建在当前日期命名的文件

时间:2011-03-17 09:36:48

标签: macos bash date terminal

我已经设置了一个cron任务,我想将输出保存到文件中。该文件的名称应基于执行cron的时间(例如:20110317-113051.txt)。

我的实际cron命令如下:

lynx -dump http://somesite/script.php > /Volumes/dev0/textfile.txt

我希望将textfile替换为某种独特的时间戳。

我已经尝试了

lynx -dump http://somesite/script.php > $(date).txt
但是我收到错误,指出命令不明确。

感谢您的帮助!

索林

2 个答案:

答案 0 :(得分:13)

可以为date命令指定一种格式,以确定其生成日期的确切形式。看起来好像您需要$(date +%Y%m%d-%H%M%S).txt。使用这种格式,date的输出应该没有空格,括号等,否则可能会混淆shell或lynx命令。

有关date命令和http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/date.1.html的文档,请参阅http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man3/strftime.3.html以获取格式字符串的文档,该标识与标准库中的strftime函数相同。

答案 1 :(得分:10)

您需要引用文件名,因为默认情况下日期中会包含特殊字符:

lynx -dump http://somesite/script.php > "$(date).txt"

正如@Gareth所说,你应该为日期指定一个格式字符串,这样你就可以获得更易读/可管理的文件名,例如

lynx -dump http://somesite/script.php > "$(date +%Y%m%d-%H%M%S).txt"
相关问题