尾部是日期的文件名

尾部是日期的文件名

我正在从 kermit 创建一个名为当前日期的日志文件(格式为 DD MMM YYYY - 据我所知无法更改),并使用文件名作为今天的日期。

然后我有一个 Bash 脚本来读取该文件,并且我想要tail -n1该文件。

如果我做

    filename=$(date +%d\ %b\ %Y) && echo $filename

我明白了

    23 Feb 2015

这就是我想要和期待的。但是如果我那么做

    filename=$(date +%d\ %b\ %Y) && tail -n1 $filename

我明白了

    tail: cannot open `23' for reading: No such file or directory
    tail: cannot open `Feb' for reading: No such file or directory
    tail: cannot open `2015' for reading: No such file or directory

我不确定是什么原因造成的,可能是我的字符串格式化方式所致,因为如果我使用tailor ,我会得到相同的结果cat

答案1

双引号你的变量。双引号你的变量。双引号你的变量。

filename=$(date +'%d %b %Y') && tail -n1 "$filename"

相关内容