2

我正在使用“tee”命令将我的 shell 程序的日志重定向到一个文件中。

我的要求是用文件名附加当前日期和时间。

sh sample.sh | tee logfile_$date.txt #sample command

输出日志文件:

logfile_2013-08-22-14.txt  #yyyy-mm-dd-hh format

我怎样才能实现它?

4

1 回答 1

10

由于date '+%Y-%m-%d-%H'返回类型2013-08-21-10(年-月-日-小时)的日期,您可以使用以下内容:

sh sample.sh | tee logfile_$(date '+%Y-%m-%d-%H').txt

例如,让我们打印hello并将其存储在一个文件中:

$ echo "hello" | tee logfile_$(date '+%Y-%m-%d-%H').txt
hello
$ ls logfile_*
logfile_2013-08-21-10.txt

如您所见,logfile_2013-08-21-10.txt在字符串出现在屏幕上的同时,已经创建了一个同名的文件。

于 2013-08-21T08:52:19.863 回答