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

Sor*_*anu 10 macos bash terminal date

我已经设置了一个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
但我收到一个错误,命令是不明确的.

谢谢你的帮助!

索林

Gar*_*han 13

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

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


Pau*_*l R 11

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

lynx -dump http://somesite/script.php > "$(date).txt"
Run Code Online (Sandbox Code Playgroud)

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

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