2011-03-17 171 views
4

我已经设置了一个cron任务,我想将输出保存到一个文件中。该文件应该具有基于cron执行时间的名称(例如:20110317-113051.txt)。OS X终端命令创建一个在当前日期命名的文件

我的实际cron命令如下:

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

我希望textfile通过某种独特的时间戳来代替。我试过

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

感谢您的帮助!

索林

回答

8

date命令可以给出的格式,以确定到底是什么形式,它的产生日期。看起来,如果你想$(date +%Y%m%d-%H%M%S).txt。使用这种格式时,date的输出应该没有空格,括号等,否则可能会混淆外壳或lynx命令。

的格式的字符串,它是与用于在标准库的strftime功能的文档查看http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/date.1.htmldate命令的文档和http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man3/strftime.3.html

+0

非常感谢你! :) – 2011-03-17 10:08:42

6

你需要引用的文件名,日期,因为默认情况下,将有它的特殊字符:

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

由于@Gareth说,虽然,你应该日期指定格式字符串,这样你就可以得到一个更可读/可管理的文件名,例如

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

您的评论非常感谢!谢谢! :) – 2011-03-17 10:09:03